home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / cmds / gdb.new / diffs < prev    next >
Encoding:
Text File  |  1991-08-30  |  550.6 KB  |  17,021 lines

  1. diff -r gdb-3.98/Makefile.in gdb-4.0/Makefile.in
  2. 2a3
  3. > #   Copyright (C) 1990, 1991 Cygnus Support
  4. 4c5,17
  5. < # Last Mod Wed Jul 24 18:25:48 PDT 1991, by rich@cygint.cygnus.com
  6. ---
  7. > # This file is free software; you can redistribute it and/or modify
  8. > # it under the terms of the GNU General Public License as published by
  9. > # the Free Software Foundation; either version 2 of the License, or
  10. > # (at your option) any later version.
  11. > # 
  12. > # This program is distributed in the hope that it will be useful,
  13. > # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. > # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. > # GNU General Public License for more details.
  16. > # 
  17. > # You should have received a copy of the GNU General Public License
  18. > # along with this program; if not, write to the Free Software
  19. > # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  20. 6,7c19,21
  21. < # $Id: Makefile.in,v 1.21 1991/07/31 18:07:59 gnu Exp $
  22. ---
  23. > # Last Mod Tue Aug 20 12:48:54 PDT 1991, by rich@cygint.cygnus.com
  24. > #
  25. > # $Id: Makefile.in,v 1.27 1991/08/23 07:15:56 gnu Exp $
  26. 18c32
  27. < BISONPATH = $(srcdir)/../bison`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi`
  28. ---
  29. > BISONPATH = 
  30. 20c34
  31. < BISON = $(BISONPATH)$(subdir)/bison -L $(BISONPATH)/
  32. ---
  33. > BISON = `if [ -d $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`$(subdir) ] ; then echo $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`$(subdir)/bison -L $(srcdir)/../bison\`if [ -d $(srcdir)/bison.$(target) ] ; then echo .$(target) ; fi\`/; else echo yacc ; fi`
  34. 80a95,96
  35. >         -L$(srcdir)/../gnulib`if [ -d $(srcdir)/gnulib.$(target) ] ; \
  36. >         then echo .$(target) ; fi`$(subdir)/$(stagepass)/ \
  37. 151c167
  38. <          `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
  39. ---
  40. >          `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
  41. 157c173,174
  42. < DEVO_SUPPORT= README.configure Makefile.in configure configure.in 
  43. ---
  44. > DEVO_SUPPORT= README README.configure Makefile.in configure configure.in \
  45. >     config.sub 
  46. 173a191,208
  47. > # Revision 1.27  1991/08/23  07:15:56  gnu
  48. > # Make README stick...
  49. > #
  50. > # Revision 1.26  1991/08/22  09:20:07  gnu
  51. > # Build a top-level README for devo.
  52. > #
  53. > # Revision 1.25  1991/08/22  07:15:49  rich
  54. > # Three part names, etc.
  55. > #
  56. > # Revision 1.24  1991/08/20  01:57:31  rich
  57. > # Another try at passing gnulib's location.
  58. > #
  59. > # Revision 1.23  1991/08/16  21:47:41  rich
  60. > # Pass on BISON as bison only if bison is here.
  61. > #
  62. > # Revision 1.22  1991/08/07  19:15:26  rich
  63. > # +forcesubdirs -> +subdirs
  64. > #
  65. Only in gdb-4.0: README
  66. diff -r gdb-3.98/README.configure gdb-4.0/README.configure
  67. 6c6
  68. <          Last Mod 19 Jul 1991 by gnu@cygnus.com
  69. ---
  70. >          Last Mod Fri Aug 23 14:44:19 PDT 1991, by rich@cygint.cygnus.com
  71. 111,112c111,112
  72. <     ./configure sun4 +forcesubdirs +notation=postfix
  73. <     ./configure sun3 +forcesubdirs +notation=infix
  74. ---
  75. >     ./configure sun4 +subdirs +notation=postfix
  76. >     ./configure sun3 +subdirs +notation=infix
  77. 118c118
  78. <     behaviour so the "+forcesubdirs" configuration option is necessary
  79. ---
  80. >     behaviour so the "+subdirs" configuration option is necessary
  81. 124c124
  82. <     tools "in place" and won't show the "+forcesubdirs" option, but
  83. ---
  84. >     tools "in place" and won't show the "+subdirs" option, but
  85. 215c215
  86. <     to be build in a sun3 environment, in subdirectories, to be
  87. ---
  88. >     to be built in a sun3 environment, in subdirectories, to be
  89. 526c526
  90. < * "./configure +forcesubdirs hostname +target=targetname" creates a
  91. ---
  92. > * "./configure +subdirs hostname +target=targetname" creates a
  93. 529c529
  94. <   be done from Host-hostname/Target-targetname.  "./configure +f name"
  95. ---
  96. >   be done from Host-hostname/Target-targetname.  "./configure +sub name"
  97. diff -r gdb-3.98/bfd/ChangeLog gdb-4.0/bfd/ChangeLog
  98. 0a1,87
  99. > Fri Aug 23 13:51:06 1991  John Gilmore  (gnu at cygint.cygnus.com)
  100. >     * aoutx.h:  Add information on host-aout.c and how to configure
  101. >     to use it, to the manual.
  102. >     * configure.in:  Tix typo.
  103. >     * ecoff.c:  If compiling for DEC3100, use trad_unix core files,
  104. >     else dummy out the core file support.
  105. >     * trad-core.c (trad_unix_core_file_p):  If HOST_DATA_START_ADDR is
  106. >     specified, use it to locate the data section.
  107. >     * coffcode.h (coff_write_symbols):  Declare buffer as bfd_bytes
  108. >     rather than as chars (lint).
  109. > Thu Aug 22 22:20:19 1991  Stu Grossman  (grossman at cygint.cygnus.com)
  110. >     * aoutx.h, coffcode.h:  saberized.
  111. > Thu Aug 22 11:27:06 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
  112. >     * bfd.texinfo: some cleanup, reincorporated more intro matter from
  113. >     bfd.doc 
  114. >     bfd.c, targets.c: minor rewording of doc segments
  115. > Wed Aug 21 19:13:22 1991  John Gilmore  (gnu at cygint.cygnus.com)
  116. >     * trad-core.c (trad_unix_core_file_p):  Use HOST_TEXT_START_ADDR,
  117. >     etc, rather than TEXT_START_ADDR.
  118. >     * host-aout.c:  Remove #if 0 around whole thing.
  119. >     Update to modern (32/64-bit) a.out naming conventions.
  120. >     Include a large chunk of ../include/a.out.gnu.h to get macros that
  121. >     are not defined by the system include files.
  122. >     (host_aout_{32,64}_write_object_contents):  Use the WRITE_HEADERS
  123. >     macro used by the other a.out implementations.
  124. >     * Makefile.in:  Give dependencies to OPTIONAL_BACKENDS.
  125. > Wed Aug 21 14:33:06 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
  126. >     * Makefile.in: use targets "bfd.dvi" and "bfd.ps" instead of
  127. >     texdoc and psdoc; make these depend on generated .texi's
  128. >     
  129. >     * scanit, (new) unPROTO: turn PROTO macros into ANSI declarations in
  130. >     doc
  131. >     
  132. >     * bfd.c, reloc.c, syms.c: minor spelling/wording fixes in doc
  133. >     portions     
  134. >     * Makefile.in, awkscan-ip, awkscan-p, intobfd,
  135. >     libbfd.h, libcoff.h, tolibcoff; new bfd-in.h, libbfd-in.h,
  136. >     libcoff-in.h: (a) use separate files for invariant parts of bfd.h,
  137. >     libbfd.h, and libcoff.h; (b) in generated parts of same, use less
  138. >     obtrusive marks indicating .c origins.
  139. >     * bfd.texinfo: generalize most references to linker
  140. > Tue Aug 20 15:18:02 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
  141. >     * Makefile.in: include core.p in PROTOS (building better bfd.h)
  142. >     * archures.c: remove empty foo() definition (crept in at vn1.9)
  143. > Mon Aug 19 13:48:22 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
  144. >     * bfd.texinfo: use @setchapternewpage on instead of lots of
  145. >     @page's; minor rephrasing in Introduction.
  146. >     * aoutx.h, archive.c, archures.c, bfd.c, bfd.texinfo, cache.c,
  147. >     coffcode.h, core.c, format.c, ieee.c, libbfd.c, libbfd.h, libcoff.h,
  148. >     oasys.c, opncls.c, reloc.c, section.c, syms.c, targets.c (documentation
  149. >     segments): used BFD (caps) more consistently as a name in
  150. >     discourse, fixed a few other minor typos and uses of fonts
  151. >     
  152. > Thu Aug  8 16:47:43 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
  153. >     * coffcode.h: fixed bug where string table size wasn't being swapped.
  154. > Thu Aug  1 16:35:28 1991  Steve Chamberlain  (steve at cygint.cygnus.com)
  155. >     * section.c: added SEC_CONSTRUCTOR_TEXT|DATA|BSS flags
  156. >     * syms.c: added BSF_CONSTRUCTOR, BSF_WARNING and BSF_INDIRECT
  157. >     flags. (bfd_print_symbol_vandf) now knows what to do with the
  158. >     above flags.
  159. >     * aoutx.h: made translate_from_native_sym_flags and
  160. >     translate_to_native_sym_flags produce the above flags.
  161. >         
  162. diff -r gdb-3.98/bfd/Makefile.in gdb-4.0/bfd/Makefile.in
  163. 21c21
  164. < # $Id: Makefile.in,v 1.27 1991/07/31 17:37:02 gnu Exp $
  165. ---
  166. > # $Id: Makefile.in,v 1.36 1991/08/22 19:59:41 steve Exp $
  167. 25a26
  168. > docdir = $(srcdir)/doc
  169. 32a34,35
  170. 45,46c48,50
  171. <     icoff.o m68kcoff.o i386coff.o m88k-bcs.o ecoff.o \
  172. <     # trad-core.o 
  173. ---
  174. >     icoff.o m68kcoff.o i386coff.o m88k-bcs.o ecoff.o
  175. > OPTIONAL_BACKENDS = trad-core.o
  176. 105c109
  177. <     rm -f *.[oa] *~ core *.E
  178. ---
  179. >     rm -f *.[oa] *~ core *.E *.p *.ip
  180. 110c114
  181. < $(BFD_LIBS) $(BFD_BACKENDS):  libbfd.h $(BFD_H)
  182. ---
  183. > $(BFD_LIBS) $(BFD_BACKENDS) $(OPTIONAL_BACKENDS):  libbfd.h $(BFD_H)
  184. 188c192
  185. <         `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
  186. ---
  187. >         `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
  188. 195,231d198
  189. < # Stuff to make the documentation for bfd.
  190. < #
  191. < # make docs
  192. < #    rebuilds the documentation. Has to be done when the source is
  193. < #    modified until I work out how to do this properly
  194. < # 
  195. < # make docs headers
  196. < #    rebuilds the header files from the source
  197. < #
  198. < # make docs texdoc
  199. < #    rebuilds the bfd.dvi manual
  200. < #
  201. < # make docs texinfo
  202. < #    rebuilts the bfdinfo manual
  203. < .SUFFIXES: .doc .o .c .h .proto
  204. < .c.doc:
  205. <     makedoc <$< doc/$*.doc doc/$*.proto doc/$*.protointernal doc/$*.drop
  206. < .h.doc:
  207. <     makedoc <$< doc/$*.doc doc/$*.proto doc/$*.protointernal doc/$*.drop
  208. < .proto.doc:
  209. <     makedoc <$< doc/$*.doc doc/$*.proto doc/$*.protointernal doc/$*.drop
  210. < DSRC=$(CFILES)
  211. < docs: syms.doc bfd.doc cache.doc format.doc section.doc archive.doc \
  212. <     core.doc libbfd.doc archures.doc reloc.doc opncls.doc \
  213. <     targets.doc aoutx.doc coffcode.doc
  214. < PROTOS = doc/opncls.proto doc/archures.proto doc/libbfd.proto doc/section.proto doc/syms.proto  doc/bfd.proto doc/archive.proto \
  215. <     doc/reloc.proto doc/targets.proto doc/format.proto 
  216. 233,235c200,204
  217. < headers : $(PROTOS)
  218. <     - mkdir  doc
  219. ---
  220. > headers:
  221. >     cp $(srcdir)/bfd-in.h $(docdir)
  222. >     cp $(srcdir)/libbfd-in.h $(docdir)
  223. >     cp $(srcdir)/libcoff-in.h $(docdir)
  224. >     (cd $(docdir); make protos)
  225. 237,257c206,208
  226. <     sed <$(BFD_H) >bfd.h.new -e '1,/THE FOLLOWING/!d'
  227. <     cat doc/opncls.proto doc/archures.proto \
  228. <     doc/libbfd.proto doc/section.proto doc/syms.proto \
  229. <     doc/bfd.proto doc/archive.proto \
  230. <     doc/core.proto \
  231. <     doc/reloc.proto doc/targets.proto doc/format.proto >>bfd.h.new
  232. <     echo >> bfd.h.new
  233. <     echo "#endif" >> bfd.h.new
  234. <     echo >> bfd.h.new
  235. <     mv bfd.h.new $(BFD_H)
  236. <     # and libbfd.h
  237. <     sed < libbfd.h >libbfd.h.new -e '1,/THE FOLLOWING/!d'
  238. <     cat  doc/libbfd.protointernal doc/cache.protointernal doc/reloc.protointernal  >> libbfd.h.new
  239. <     echo >> libbfd.h.new
  240. <     mv libbfd.h.new libbfd.h
  241. <     
  242. <     # and libcoff.h
  243. <     sed < $(srcdir)/libcoff.h >libcoff.h.new -e '1,/THE FOLLOWING/!d'
  244. <     cat doc/coffcode.proto >>libcoff.h.new
  245. <     mv libcoff.h.new $(srcdir)/libcoff.h
  246. ---
  247. >     cp $(docdir)/bfd.h $(BFD_H)
  248. >     cp $(docdir)/libbfd.h $(srcdir)/libbfd.h
  249. >     cp $(docdir)/libcoff.h $(srcdir)/libcoff.h
  250. 259,261c210,214
  251. < texinfo:
  252. <     makeinfo +no-validate bfd.texinfo
  253. ---
  254. > bfd.info:
  255. >     ( cd doc; make bfd.info)
  256. > bfd.dvi:
  257. >     (cd doc; make bfd.dvi)
  258. 263,266c216,217
  259. < texdoc:
  260. <     tex bfd.texinfo
  261. <     texindex bfd.??
  262. <     tex bfd.texinfo
  263. ---
  264. > bfd.ps: 
  265. >     (cd doc; make bfd.ps)
  266. 268,269d218
  267. < quickdoc: $(DSRC) docs
  268. <     tex bfd.texinfo
  269. diff -r gdb-3.98/bfd/aoutf1.h gdb-4.0/bfd/aoutf1.h
  270. 247c247
  271. < struct core {
  272. ---
  273. > struct external_sparc_core {
  274. 250,251c250,252
  275. <   struct regs c_regs;        /* General purpose registers -- MACHDEP SIZE */
  276. <   struct internal_exec c_aouthdr;    /* A.out header */
  277. ---
  278. > #define    SPARC_CORE_LEN    432
  279. >   int c_regs[19];        /* General purpose registers -- MACHDEP SIZE */
  280. >   struct external_exec c_aouthdr;    /* A.out header */
  281. 266,268c267,333
  282. < /* Supposedly the user stack grows downward from the bottom of kernel memory.
  283. < Presuming that this remains true, this definition will work. */
  284. < #define USRSTACK (-(128*1024*1024))
  285. ---
  286. > struct external_sun3_core {
  287. >   int c_magic;            /* Corefile magic number */
  288. >   int c_len;            /* Sizeof (struct core) */
  289. > #define    SUN3_CORE_LEN    826    /* As of SunOS 4.1.1 */
  290. >   int c_regs[18];        /* General purpose registers -- MACHDEP SIZE */
  291. >   struct external_exec c_aouthdr;    /* A.out header */
  292. >   int c_signo;            /* Killing signal, if any */
  293. >   int c_tsize;            /* Text size (bytes) */
  294. >   int c_dsize;            /* Data size (bytes) */
  295. >   int c_ssize;            /* Stack size (bytes) */
  296. >   char c_cmdname[CORE_NAMELEN + 1]; /* Command name */
  297. >   double fp_stuff[1];            /* external FPU state (size unknown by us) */
  298. >   /* The type "double" is critical here, for alignment.
  299. >     SunOS declares a struct here, but the struct's alignment
  300. >       is double since it contains doubles.  */
  301. >   int c_ucode;            /* Exception no. from u_code */
  302. >   /* (this member is not accessible by name since we don't
  303. >     portably know the size of fp_stuff.) */
  304. > };
  305. > struct internal_sunos_core {
  306. >   int c_magic;            /* Corefile magic number */
  307. >   int c_len;            /* Sizeof (struct core) */
  308. >   long c_regs_pos;        /* file offset of General purpose registers */
  309. >   int c_regs_size;        /* size of General purpose registers */
  310. >   struct internal_exec c_aouthdr;    /* A.out header */
  311. >   int c_signo;            /* Killing signal, if any */
  312. >   int c_tsize;            /* Text size (bytes) */
  313. >   int c_dsize;            /* Data size (bytes) */
  314. >   int c_ssize;            /* Stack size (bytes) */
  315. >   long c_stacktop;        /* Stack top (address) */
  316. >   char c_cmdname[CORE_NAMELEN + 1]; /* Command name */
  317. >   long fp_stuff_pos;        /* file offset of external FPU state (regs) */
  318. >   int fp_stuff_size;        /* Size of it */
  319. >   int c_ucode;            /* Exception no. from u_code */
  320. > };
  321. > /* byte-swap in the Sun-3 core structure */
  322. > static void
  323. > DEFUN(swapcore_sun3,(abfd, ext, intcore),
  324. >       bfd *abfd AND
  325. >       char *ext AND
  326. >       struct internal_sunos_core *intcore)
  327. > {
  328. >   struct external_exec exec_bytes;
  329. >   struct external_sun3_core *extcore = (struct external_sun3_core *)ext;
  330. >   
  331. >   intcore->c_magic = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_magic);
  332. >   intcore->c_len   = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_len  );
  333. >   intcore->c_regs_pos  = (long) (((struct external_sun3_core *)0)->c_regs);
  334. >   intcore->c_regs_size = sizeof (extcore->c_regs);
  335. >   NAME(aout,swap_exec_header_in)(abfd, &extcore->c_aouthdr,&intcore->c_aouthdr);
  336. >   intcore->c_signo = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_signo);
  337. >   intcore->c_tsize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_tsize);
  338. >   intcore->c_dsize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_dsize);
  339. >   intcore->c_ssize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_ssize);
  340. >   bcopy (extcore->c_cmdname, intcore->c_cmdname, sizeof (intcore->c_cmdname));
  341. >   intcore->fp_stuff_pos = (long) (((struct external_sun3_core *)0)->fp_stuff);
  342. >   /* FP stuff takes up whole rest of struct, except c_ucode. */
  343. >   intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) -
  344. >     (file_ptr)(((struct external_sun3_core *)0)->fp_stuff);
  345. >   /* Ucode is the last thing in the struct -- just before the end */
  346. >   intcore->c_ucode = bfd_h_get_32 (abfd, 
  347. >     intcore->c_len - sizeof (extcore->c_ucode) + (unsigned char *)extcore);
  348. >   intcore->c_stacktop = 0x0E000000;    /* By experimentation */
  349. > }
  350. 270c335,366
  351. < PROTO (static void, swapcore, (bfd *abfd, struct core *core));
  352. ---
  353. > /* byte-swap in the Sun-3 core structure */
  354. > static void
  355. > DEFUN(swapcore_sparc,(abfd, ext, intcore),
  356. >       bfd *abfd AND
  357. >       char *ext AND
  358. >       struct internal_sunos_core *intcore)
  359. > {
  360. >   struct external_sparc_core *extcore = (struct external_sparc_core *)ext;
  361. >   
  362. >   intcore->c_magic = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_magic);
  363. >   intcore->c_len   = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_len  );
  364. >   intcore->c_regs_pos  = (long) (((struct external_sparc_core *)0)->c_regs);
  365. >   intcore->c_regs_size = sizeof (extcore->c_regs);
  366. >   NAME(aout,swap_exec_header_in)(abfd, &extcore->c_aouthdr,&intcore->c_aouthdr);
  367. >   intcore->c_signo = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_signo);
  368. >   intcore->c_tsize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_tsize);
  369. >   intcore->c_dsize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_dsize);
  370. >   intcore->c_ssize = bfd_h_get_32 (abfd, (unsigned char *)&extcore->c_ssize);
  371. >   bcopy (extcore->c_cmdname, intcore->c_cmdname, sizeof (intcore->c_cmdname));
  372. >   intcore->fp_stuff_pos = (long) (((struct external_sparc_core *)0)->fp_stuff);
  373. >   /* FP stuff takes up whole rest of struct, except c_ucode. */
  374. >   intcore->fp_stuff_size = intcore->c_len - (sizeof extcore->c_ucode) -
  375. >     (file_ptr)(((struct external_sparc_core *)0)->fp_stuff);
  376. >   /* Ucode is the last thing in the struct -- just before the end */
  377. >   intcore->c_ucode = bfd_h_get_32 (abfd, 
  378. >     intcore->c_len - sizeof (extcore->c_ucode) + (unsigned char *)extcore);
  379. >   /* Supposedly the user stack grows downward from the bottom of kernel memory.
  380. >      Presuming that this remains true, this definition will work. */
  381. > #define USRSTACK (-(128*1024*1024))
  382. >   intcore->c_stacktop = USRSTACK;    /* By experimentation */
  383. > #undef USRSTACK
  384. > }
  385. 272,277c368,373
  386. < /* need this cast b/c ptr is really void * */
  387. < #define core_hdr(bfd) (((struct suncordata *) (bfd->tdata))->hdr)
  388. < #define core_datasec(bfd) (((struct suncordata *) ((bfd)->tdata))->data_section)
  389. < #define core_stacksec(bfd) (((struct suncordata*)((bfd)->tdata))->stack_section)
  390. < #define core_regsec(bfd) (((struct suncordata *) ((bfd)->tdata))->reg_section)
  391. < #define core_reg2sec(bfd) (((struct suncordata *) ((bfd)->tdata))->reg2_section)
  392. ---
  393. > /* need this cast because ptr is really void * */
  394. > #define core_hdr(bfd) (((struct suncoredata *) (bfd->tdata))->hdr)
  395. > #define core_datasec(bfd) (((struct suncoredata *) ((bfd)->tdata))->data_section)
  396. > #define core_stacksec(bfd) (((struct suncoredata*)((bfd)->tdata))->stack_section)
  397. > #define core_regsec(bfd) (((struct suncoredata *) ((bfd)->tdata))->reg_section)
  398. > #define core_reg2sec(bfd) (((struct suncoredata *) ((bfd)->tdata))->reg2_section)
  399. 280,285c376,381
  400. < struct suncordata {
  401. < struct core *hdr;             /* core file header */
  402. < asection *data_section;
  403. < asection *stack_section;
  404. < asection *reg_section;
  405. < asection *reg2_section;
  406. ---
  407. > struct suncoredata {
  408. >   struct internal_sunos_core *hdr;             /* core file header */
  409. >   asection *data_section;
  410. >   asection *stack_section;
  411. >   asection *reg_section;
  412. >   asection *reg2_section;
  413. 295c391,392
  414. <   struct core *core;
  415. ---
  416. >   struct internal_sunos_core *core;
  417. >   char *extcore;
  418. 296a394,398
  419. >   struct mergem {
  420. >     struct suncoredata suncoredata;
  421. >     struct internal_sunos_core internal_sunos_core;
  422. >     char external_core[1];
  423. >   } *mergem;
  424. 318,319c420,421
  425. <   rawptr = bfd_zalloc (abfd, core_size + sizeof (struct suncordata));
  426. <   if (rawptr == NULL) {
  427. ---
  428. >   mergem = (struct mergem *)bfd_zalloc (abfd, core_size + sizeof (struct mergem));
  429. >   if (mergem == NULL) {
  430. 324c426
  431. <   core = (struct core *) (rawptr + sizeof (struct suncordata));
  432. ---
  433. >   extcore = mergem->external_core;
  434. 326c428
  435. <   if ((bfd_read ((PTR) core, 1, core_size, abfd)) != core_size) {
  436. ---
  437. >   if ((bfd_read ((PTR) extcore, 1, core_size, abfd)) != core_size) {
  438. 328c430,447
  439. <     bfd_release (abfd, rawptr);
  440. ---
  441. >     bfd_release (abfd, (char *)mergem);
  442. >     return 0;
  443. >   }
  444. >   /* Validate that it's a core file we know how to handle, due to sun
  445. >      botching the positioning of registers and other fields in a machine
  446. >      dependent way.  */
  447. >   core = &mergem->internal_sunos_core;
  448. >   switch (core_size) {
  449. >   case SPARC_CORE_LEN:
  450. >     swapcore_sparc (abfd, extcore, core);
  451. >     break;
  452. >   case SUN3_CORE_LEN:
  453. >     swapcore_sun3 (abfd, extcore, core);
  454. >     break;
  455. >   default:
  456. >     bfd_error = system_call_error;        /* FIXME */
  457. >     bfd_release (abfd, (char *)mergem);
  458. 332,333c451
  459. <   swapcore (abfd, core);
  460. <   set_tdata (abfd, ((struct suncordata *) rawptr));
  461. ---
  462. >   set_tdata (abfd, &mergem->suncoredata);
  463. 375,378c493,494
  464. <   core_regsec (abfd)->size = (sizeof core->c_regs);
  465. <   /* Float regs take up end of struct, except c_ucode.  */
  466. <   core_reg2sec (abfd)->size = core_size - (sizeof core->c_ucode) -
  467. <     (file_ptr)(((struct core *)0)->fp_stuff);
  468. ---
  469. >   core_regsec (abfd)->size = core->c_regs_size;
  470. >   core_reg2sec (abfd)->size = core->fp_stuff_size;
  471. 380c496
  472. <   core_stacksec (abfd)->vma = (USRSTACK - core->c_ssize);
  473. ---
  474. >   core_stacksec (abfd)->vma = (core->c_stacktop - core->c_ssize);
  475. 387,389c503,505
  476. <   /* In file header: */
  477. <   core_regsec (abfd)->filepos = (file_ptr)(&((struct core *)0)->c_regs);
  478. <   core_reg2sec (abfd)->filepos = (file_ptr)(((struct core *)0)->fp_stuff);
  479. ---
  480. >   /* We'll access the regs afresh in the core file, like any section: */
  481. >   core_regsec (abfd)->filepos = (file_ptr)core->c_regs_pos;
  482. >   core_reg2sec (abfd)->filepos = (file_ptr)core->fp_stuff_pos;
  483. 432,453d547
  484. < }
  485. < /* byte-swap core structure */
  486. < /* FIXME, this needs more work to swap IN a core struct from raw bytes */
  487. < static void
  488. < DEFUN(swapcore,(abfd, core),
  489. <       bfd *abfd AND
  490. <       struct core *core)
  491. < {
  492. <   struct external_exec exec_bytes;
  493. <   
  494. <   core->c_magic = bfd_h_get_32 (abfd, (unsigned char *)&core->c_magic);
  495. <   core->c_len   = bfd_h_get_32 (abfd, (unsigned char *)&core->c_len  );
  496. <   /* Leave integer registers in target byte order.  */
  497. <   bcopy ((char *)&(core->c_aouthdr), (char *)&exec_bytes, EXEC_BYTES_SIZE);
  498. <   NAME(aout,swap_exec_header_in)(abfd, &exec_bytes, &core->c_aouthdr);
  499. <   core->c_signo = bfd_h_get_32 (abfd, (unsigned char *)&core->c_signo);
  500. <   core->c_tsize = bfd_h_get_32 (abfd, (unsigned char *)&core->c_tsize);
  501. <   core->c_dsize = bfd_h_get_32 (abfd, (unsigned char *)&core->c_dsize);
  502. <   core->c_ssize = bfd_h_get_32 (abfd, (unsigned char *)&core->c_ssize);
  503. <   /* Leave FP registers in target byte order.  */
  504. <   /* Leave "c_ucode" unswapped for now, since we can't find it easily.  */
  505. diff -r gdb-3.98/bfd/aoutx.h gdb-4.0/bfd/aoutx.h
  506. 40c40
  507. < bfd requires. It is included by @code{aout32.c} and @code{aout64.c} to
  508. ---
  509. > BFD requires. It is included by @code{aout32.c} and @code{aout64.c} to
  510. 74a75,105
  511. > The file host-aout.c is a special case.  It is for a large set of hosts
  512. > that use ``more or less standard'' a.out files, and for which cross-debugging
  513. > is not interesting.  It uses the standard 32-bit a.out support routines,
  514. > but determines the file offsets and addresses of the text, data,
  515. > and BSS sections, the machine architecture and machine type,
  516. > and the entry point address, in a host-dependent manner.  Once these
  517. > values have been determined, generic code is used to handle the 
  518. > object file.
  519. > When porting it to run on a new system, you must supply:
  520. >         HOST_PAGE_SIZE
  521. >         HOST_SEGMENT_SIZE
  522. >         HOST_MACHINE_ARCH       (optional)
  523. >         HOST_MACHINE_MACHINE    (optional)
  524. >         HOST_TEXT_START_ADDR
  525. >         HOST_STACK_END_ADDR
  526. > in the file ../include/sys/h-XXX.h (for your host).  These values, plus
  527. > the structures and macros defined in <a.out.h> on your host system, will
  528. > produce a BFD target that will access ordinary a.out files on your host.
  529. > To configure a new machine to use host-aout.c, specify:
  530. > TDEFINES = -DDEFAULT_VECTOR=host_aout_big_vec
  531. > TDEPFILES= host-aout.o trad-core.o
  532. > in the config/tmake-XXX file, and modify configure.in to use the
  533. > tmake-XXX file (by setting "bfd_target=XXX") when your configuration is
  534. > selected.
  535. 76a108,109
  536. > #define KEEPIT flags
  537. > #define KEEPITTYPE int
  538. 384c417
  539. < This routine initializes a bfd for use with a.out files.
  540. ---
  541. > This routine initializes a BFD for use with a.out files.
  542. 478c511
  543. < Sets the architecture and the machine of the bfd to those values
  544. ---
  545. > Sets the architecture and the machine of the BFD to those values
  546. 505c538
  547. < Called by the bfd in response to a @code{bfd_make_section} request.
  548. ---
  549. > Called by the BFD in response to a @code{bfd_make_section} request.
  550. 628,674c661,696
  551. < {
  552. <   switch (cache_ptr->type & N_TYPE) {
  553. <   case N_SETA:
  554. <   case N_SETT:
  555. <   case N_SETD:
  556. <   case N_SETB:
  557. <       {
  558. <     char *copy = bfd_alloc(abfd, strlen(cache_ptr->symbol.name)+1);
  559. <     asection *section ;
  560. <     arelent_chain *reloc = (arelent_chain *)bfd_alloc(abfd, sizeof(arelent_chain));
  561. <     strcpy(copy, cache_ptr->symbol.name);
  562. <       section =  bfd_make_section(abfd,copy);
  563. <     switch ( (cache_ptr->type  & N_TYPE) ) {
  564. <     case N_SETA:
  565. <       reloc->relent.section =  (asection *)NULL;
  566. <       cache_ptr->symbol.section = (asection *)NULL;
  567. <       break;
  568. <     case N_SETT:
  569. <       reloc->relent.section = (asection *)obj_textsec(abfd);
  570. <       cache_ptr->symbol.value -= reloc->relent.section->vma;
  571. <       break;
  572. <     case N_SETD:
  573. <       reloc->relent.section = (asection *)obj_datasec(abfd);
  574. <       cache_ptr->symbol.value -= reloc->relent.section->vma;
  575. <       break;
  576. <     case N_SETB:
  577. <       reloc->relent.section = (asection *)obj_bsssec(abfd);
  578. <       cache_ptr->symbol.value -= reloc->relent.section->vma;
  579. <       break;
  580. <     }
  581. <     cache_ptr->symbol.section = reloc->relent.section;
  582. <     reloc->relent.addend = cache_ptr->symbol.value ;
  583. <       
  584. <     /* We modify the symbol to belong to a section depending upon the
  585. <        name of the symbol - probably __CTOR__ or __DTOR__ but we don't
  586. <        really care, and add to the size of the section to contain a
  587. <        pointer to the symbol. Build a reloc entry to relocate to this
  588. <        symbol attached to this section.  */
  589. <       
  590. <     section->flags = SEC_CONSTRUCTOR;
  591. <     section->reloc_count++;
  592. <     section->alignment_power = 2;
  593. <     reloc->relent.sym_ptr_ptr = (asymbol **)NULL;
  594. <     reloc->next = section->constructor_chain;
  595. <     section->constructor_chain = reloc;
  596. <     reloc->relent.address = section->size;
  597. <     section->size += sizeof(int *);
  598. ---
  599. >   {
  600. >     switch (cache_ptr->type & N_TYPE) {
  601. >     case N_SETA:
  602. >     case N_SETT:
  603. >     case N_SETD:
  604. >     case N_SETB:
  605. >     {
  606. >       char *copy = bfd_alloc(abfd, strlen(cache_ptr->symbol.name)+1);
  607. >       asection *section ;
  608. >       arelent_chain *reloc = (arelent_chain *)bfd_alloc(abfd, sizeof(arelent_chain));
  609. >       strcpy(copy, cache_ptr->symbol.name);
  610. >       section = bfd_make_section(abfd,copy);
  611. >       switch ( (cache_ptr->type  & N_TYPE) ) {
  612. >       case N_SETA:
  613. >         section->flags = SEC_CONSTRUCTOR;
  614. >         reloc->relent.section =  (asection *)NULL;
  615. >         cache_ptr->symbol.section = (asection *)NULL;
  616. >         break;
  617. >       case N_SETT:
  618. >         section->flags = SEC_CONSTRUCTOR_TEXT;
  619. >         reloc->relent.section = (asection *)obj_textsec(abfd);
  620. >         cache_ptr->symbol.value -= reloc->relent.section->vma;
  621. >         break;
  622. >       case N_SETD:
  623. >         section->flags = SEC_CONSTRUCTOR_DATA;
  624. >         reloc->relent.section = (asection *)obj_datasec(abfd);
  625. >         cache_ptr->symbol.value -= reloc->relent.section->vma;
  626. >         break;
  627. >       case N_SETB:
  628. >         section->flags = SEC_CONSTRUCTOR_BSS;
  629. >         reloc->relent.section = (asection *)obj_bsssec(abfd);
  630. >         cache_ptr->symbol.value -= reloc->relent.section->vma;
  631. >         break;
  632. >       }
  633. >       cache_ptr->symbol.section = reloc->relent.section;
  634. >       reloc->relent.addend = cache_ptr->symbol.value ;
  635. 676,679c698,716
  636. <     reloc->relent.howto = howto_table_ext +CTOR_TABLE_RELOC_IDX;
  637. <     cache_ptr->symbol.flags |=  BSF_DEBUGGING ;
  638. <       }
  639. <     break;
  640. ---
  641. >       /* We modify the symbol to belong to a section depending upon the
  642. >         name of the symbol - probably __CTOR__ or __DTOR__ but we don't
  643. >           really care, and add to the size of the section to contain a
  644. >         pointer to the symbol. Build a reloc entry to relocate to this
  645. >           symbol attached to this section.  */
  646. >       
  647. >       
  648. >       section->reloc_count++;
  649. >       section->alignment_power = 2;
  650. >       reloc->relent.sym_ptr_ptr = (asymbol **)NULL;
  651. >       reloc->next = section->constructor_chain;
  652. >       section->constructor_chain = reloc;
  653. >       reloc->relent.address = section->size;
  654. >       section->size += sizeof(int *);
  655. >       
  656. >       reloc->relent.howto = howto_table_ext +CTOR_TABLE_RELOC_IDX;
  657. >       cache_ptr->symbol.flags |=  BSF_DEBUGGING  | BSF_CONSTRUCTOR;
  658. >     }
  659. >     break;
  660. 681c718,739
  661. <     
  662. ---
  663. >     if (cache_ptr->type ==  N_WARNING) 
  664. >     {
  665. >       /* This symbol is the text of a warning message, the next symbol
  666. >      is the symbol to associate the warning with */
  667. >       cache_ptr->symbol.flags = BSF_DEBUGGING | BSF_WARNING;
  668. >       cache_ptr->symbol.value = (bfd_vma)((cache_ptr+1));
  669. >       /* We furgle with the next symbol in place. We don't want it to be undefined, we'll trample the type */
  670. >       (sym_pointer+1)->e_type[0] = 0xff;
  671. >       break;
  672. >     }
  673. >     if ((cache_ptr->type | N_EXT) == (N_INDR | N_EXT)) {
  674. >       /* Two symbols in a row for an INDR message. The first symbol
  675. >      contains the name we will match, the second symbol contains the
  676. >      name the first name is translated into. It is supplied to us
  677. >      undefined. This is good, since we want to pull in any files which
  678. >      define it */
  679. >       cache_ptr->symbol.flags = BSF_DEBUGGING | BSF_INDIRECT;
  680. >       cache_ptr->symbol.value = (bfd_vma)((cache_ptr+1));
  681. >       break;
  682. >     }
  683. >       
  684. 706a765
  685. 719c778
  686. ---
  687. >       
  688. 726c785
  689. ---
  690. >       
  691. 734c793
  692. ---
  693. >       
  694. 787c846,848
  695. <   
  696. ---
  697. >   if (cache_ptr->flags & (BSF_WARNING)) {
  698. >     (sym_pointer+1)->e_type[0] = 1;
  699. >   }  
  700. 939c1000
  701. <       translate_to_native_sym_flags (&nsp, (PTR)g, abfd);
  702. ---
  703. >       translate_to_native_sym_flags (&nsp, g, abfd);
  704. 965c1026
  705. <         g->name = itos(count);    /* smash the generic symbol */
  706. ---
  707. >         g->KEEPIT = (KEEPITTYPE) count;
  708. 1025c1086
  709. <       r_index = stoi((*(g->sym_ptr_ptr))->name);
  710. ---
  711. >       r_index = ((*(g->sym_ptr_ptr))->KEEPIT);
  712. 1111c1172
  713. <       r_index = stoi((*(g->sym_ptr_ptr))->name);
  714. ---
  715. >       r_index = stoi((*(g->sym_ptr_ptr))->KEEPIT);
  716. 1530c1591
  717. <  provided a bfd, a section and an offset into the section, calculate
  718. ---
  719. >  provided a BFD, a section and an offset into the section, calculate
  720. diff -r gdb-3.98/bfd/archive.c gdb-4.0/bfd/archive.c
  721. 27c27
  722. < Archives are supported in bfd in @code{archive.c}.
  723. ---
  724. > Archives are supported in BFD in @code{archive.c}.
  725. 29,32c29,32
  726. < An archive is represented internally just like another bfd, with a
  727. < pointer to a chain of contained bfds. Archives can be created by
  728. < opening bfds, linking them together and attatching them as children to
  729. < another bfd and then closing the parent bfd. 
  730. ---
  731. > An archive is represented internally just like another BFD, with a
  732. > pointer to a chain of contained BFDs. Archives can be created by
  733. > opening BFDs, linking them together and attaching them as children to
  734. > another BFD and then closing the parent BFD. 
  735. 42c42
  736. < /* $Id: archive.c,v 1.24 1991/07/31 16:57:25 gnu Exp $ */
  737. ---
  738. > /* $Id: archive.c,v 1.27 1991/08/22 16:16:51 steve Exp $ */
  739. 127c127,128
  740. < Used whilst processing archives. Sets the head of the chain of bfds
  741. ---
  742. > Used whilst processing archives. Sets the head of the chain of BFDs
  743. 128a130
  744. 129a132
  745. 342a346
  746. > Return the sub bfd contained within the archive at archive index n.
  747. 359c363
  748. < Initially provided a bfd containing an archive and NULL, opens a bfd
  749. ---
  750. > Initially provided a BFD containing an archive and NULL, opens a BFD
  751. 362c366
  752. < return value to return a created bfd to the next contained element.
  753. ---
  754. > return value to return a created BFD to the next contained element.
  755. 567c571
  756. <   stringsize = mapdata->parsed_size - (4 * (*raw_armap)) - 4;
  757. ---
  758. >   stringsize = mapdata->parsed_size - (4 * (bfd_h_get_32(abfd, (PTR)raw_armap))) - 4;
  759. 570c574
  760. <     unsigned int nsymz = *raw_armap;
  761. ---
  762. >     unsigned int nsymz = bfd_h_get_32(abfd, (PTR)raw_armap);
  763. 589c593
  764. <     carsyms->file_offset = *rawptr;
  765. ---
  766. >     carsyms->file_offset = bfd_h_get_32(abfd, (PTR)rawptr);
  767. 596c600
  768. <   ardata->symdef_count = *raw_armap;
  769. ---
  770. >   ardata->symdef_count = bfd_h_get_32(abfd, (PTR)raw_armap);
  771. 603c607
  772. <      So they will stick around until the bfd is closed.  */
  773. ---
  774. >      So they will stick around until the BFD is closed.  */
  775. 961c965
  776. < /* The bfd is open for write and has its format set to bfd_archive */
  777. ---
  778. > /* The BFD is open for write and has its format set to bfd_archive */
  779. diff -r gdb-3.98/bfd/archures.c gdb-4.0/bfd/archures.c
  780. 24,25c24,25
  781. < keeps two atoms in a bfd describing the architecture of the data
  782. < attatched to the bfd, the @code{enum bfd_architecture arch} field and
  783. ---
  784. > keeps two atoms in a BFD describing the architecture of the data
  785. > attached to the BFD, the @code{enum bfd_architecture arch} field and
  786. 84c84
  787. < /* $Id: archures.c,v 1.8 1991/07/31 16:57:26 gnu Exp $ */
  788. ---
  789. > /* $Id: archures.c,v 1.12 1991/08/20 22:23:50 pesch Exp $ */
  790. 125c125
  791. < bfd_printable_arch_mach.  
  792. ---
  793. > @code{bfd_printable_arch_mach}.  
  794. 347c347
  795. < two architectures and machine types implied by the bfds and sets the
  796. ---
  797. > two architectures and machine types implied by the BFDs and sets the
  798. 350c350
  799. < This routine returns @code{true} if the bfds are of compatible type,
  800. ---
  801. > This routine returns @code{true} if the BFDs are of compatible type,
  802. 458a459,462
  803. Only in gdb-4.0/bfd: bfd-in.h
  804. diff -r gdb-3.98/bfd/bfd.c gdb-4.0/bfd/bfd.c
  805. 21c21
  806. < /* $Id: bfd.c,v 1.18 1991/07/31 16:57:27 gnu Exp $ */
  807. ---
  808. > /* $Id: bfd.c,v 1.22 1991/08/22 18:27:01 pesch Exp $ */
  809. 24c24
  810. < @section typedef bfd
  811. ---
  812. > @section @code{typedef bfd}
  813. 26,28c26,28
  814. < Pointers to bfd structs are the cornerstone of any application using
  815. < libbfd. References though the bfd and to data in the bfd give the
  816. < entire bfd functionality.
  817. ---
  818. > A BFD is has type @code{bfd}; objects of this type are the cornerstone
  819. > of any application using @code{libbfd}. References though the BFD and
  820. > to data in the BFD give the entire BFD functionality.
  821. 30,31c30,32
  822. < Finally!  The BFD struct itself.  This contains the major data about
  823. < the file, and contains pointers to the rest of the data.
  824. ---
  825. > Here is the struct used to define the type @code{bfd}.  This contains
  826. > the major data about the file, and contains pointers to the rest of
  827. > the data.
  828. 37c38
  829. <   The filename the application opened the bfd with.
  830. ---
  831. >   The filename the application opened the BFD with.
  832. 47c48
  833. < includes bfd.h, IOSTREAM has been declared as a "char *", and MTIME
  834. ---
  835. > includes @file{bfd.h}, IOSTREAM has been declared as a "char *", and MTIME
  836. 59c60
  837. < Marks whether there was a default target specified when the bfd was
  838. ---
  839. > Marks whether there was a default target specified when the BFD was
  840. 65c66,67
  841. < The caching routines use these to maintain an LRU list of bfds.
  842. ---
  843. > The caching routines use these to maintain a least-recently-used list of
  844. > BFDs (@pxref{File Caching}).
  845. 69,70c71,72
  846. < When a file is closed by the caching routines, it retains the state
  847. < here:
  848. ---
  849. > When a file is closed by the caching routines, BFD retains state
  850. > information on the file here:
  851. 83c85
  852. < For output files, channel we locked (is this used?).
  853. ---
  854. > Reserved for an unimplemented file locking extension.
  855. 87c89
  856. < The format which belongs to the bfd.
  857. ---
  858. > The format which belongs to the BFD.
  859. 91c93
  860. < The direction the bfd was opened with
  861. ---
  862. > The direction the BFD was opened with
  863. 120c122
  864. < Stuff only usefull for object files:
  865. ---
  866. > Stuff only useful for object files:
  867. 127c129
  868. < Symtab for output bfd
  869. ---
  870. > Symbol table for output BFD
  871. 139c141
  872. < Stuff only usefull for archives:
  873. ---
  874. > Stuff only useful for archives:
  875. 155c157
  876. < Where all the allocated stuff under this BFD goes 
  877. ---
  878. > Where all the allocated stuff under this BFD goes (@pxref{Memory Usage}).
  879. 356c358
  880. < Marks the entry point of an output bfd. Returns @code{true} on
  881. ---
  882. > Marks the entry point of an output BFD. Returns @code{true} on
  883. Only in gdb-3.98/bfd: bfd.texinfo
  884. diff -r gdb-3.98/bfd/cache.c gdb-4.0/bfd/cache.c
  885. 24c24
  886. < bfds as it wants without regard to the underlying operating system's
  887. ---
  888. > BFDs as it wants without regard to the underlying operating system's
  889. 30c30
  890. < required bfd is open. If not, then it chooses a file to close, closes
  891. ---
  892. > required BFD is open. If not, then it chooses a file to close, closes
  893. 37c37
  894. < /* $Id: cache.c,v 1.8 1991/07/31 16:57:29 gnu Exp $ */
  895. ---
  896. > /* $Id: cache.c,v 1.10 1991/08/19 23:02:59 pesch Exp $ */
  897. 55c55
  898. < static bfd *cache_sentinel;    /* Chain of bfds with active fds we've
  899. ---
  900. > static bfd *cache_sentinel;    /* Chain of BFDs with active fds we've
  901. 59,61c59,61
  902. < Zero, or a pointer to the topmost bfd on the chain.  This is used by the
  903. < bfd_cache_lookup() macro in libbfd.h to determine when it can avoid a function
  904. < call.  
  905. ---
  906. > Zero, or a pointer to the topmost BFD on the chain.  This is used by
  907. > the @code{bfd_cache_lookup} macro in @file{libbfd.h} to determine when
  908. > it can avoid a function call.
  909. 71,72c71,72
  910. < Checks to see if the required bfd is the same as the last one looked
  911. < up. If so then it can use the iostream in the bfd with impunity, since
  912. ---
  913. > Checks to see if the required BFD is the same as the last one looked
  914. > up. If so then it can use the iostream in the BFD with impunity, since
  915. 106c106
  916. < /* Cuts the bfd abfd out of the chain in the cache */
  917. ---
  918. > /* Cuts the BFD abfd out of the chain in the cache */
  919. 163c163
  920. < Remove the bfd from the cache. If the attatched file is open, then close it too.
  921. ---
  922. > Remove the BFD from the cache. If the attached file is open, then close it too.
  923. 248c248
  924. <   /* This is a bfd without a stream -
  925. ---
  926. >   /* This is a BFD without a stream -
  927. diff -r gdb-3.98/bfd/coffcode.h gdb-4.0/bfd/coffcode.h
  928. 59c59
  929. < You can verify that your new bfd backend works quite simply by
  930. ---
  931. > You can verify that your new BFD backend works quite simply by
  932. 72c72
  933. < Each flavour of coff supported in bfd has its own header file
  934. ---
  935. > Each flavour of coff supported in BFD has its own header file
  936. 86c86
  937. < To port bfd, that person will have to add more @code{#defines}.
  938. ---
  939. > To port BFD, that person will have to add more @code{#defines}.
  940. 91c91
  941. < own, but uses bfd to fix things up.
  942. ---
  943. > own, but uses BFD to fix things up.
  944. 94c94
  945. < The simple canonical form for symbols used by bfd is not rich enough
  946. ---
  947. > The simple canonical form for symbols used by BFD is not rich enough
  948. 122c122
  949. < canonical table used by the bfd application. Each symbol is inspected
  950. ---
  951. > canonical table used by the BFD application. Each symbol is inspected
  952. 128c128
  953. < Any linenumbers are read from the coff file too, and attatched to the
  954. ---
  955. > Any linenumbers are read from the coff file too, and attached to the
  956. 134c134
  957. < remembers the bfd from which was born, and on output the back end
  958. ---
  959. > remembers the BFD from which was born, and on output the back end
  960. 146c146
  961. < The symbol table is not output to a writable bfd until it is closed. 
  962. ---
  963. > The symbol table is not output to a writable BFD until it is closed. 
  964. 158c158
  965. < of bfd into the form used by coff. Internally, bfd expects symbol
  966. ---
  967. > of BFD into the form used by coff. Internally, BFD expects symbol
  968. 221c221
  969. < The actual symbol which the rest of bfd works with
  970. ---
  971. > The actual symbol which the rest of BFD works with
  972. 238c238
  973. < /* $Id: coffcode.h,v 1.13 1991/07/31 16:57:31 gnu Exp $ */
  974. ---
  975. > /* $Id: coffcode.h,v 1.18 1991/08/23 20:55:25 gnu Exp $ */
  976. 1053c1053
  977. <     bfd_swap_aouthdr_in(abfd, &opthdr, &internal_a);
  978. ---
  979. >     bfd_swap_aouthdr_in(abfd, (char *)&opthdr, (char *)&internal_a);
  980. 1671,1672c1671,1674
  981. <      size =  size;
  982. <      bfd_write((PTR) &size, 1, sizeof(size), abfd);
  983. ---
  984. >      bfd_byte buffer[4];
  985. >      bfd_h_put_32(abfd, size, buffer);
  986. >      bfd_write((PTR) buffer, 1, sizeof(buffer), abfd);
  987. 1679c1681,1682
  988. <        maxlen = ((c_symbol != NULL && c_symbol->native != NULL) && (c_symbol->native->u.syment.n_sclass == C_FILE)) ?
  989. ---
  990. >        maxlen = ((c_symbol != NULL && c_symbol->native != NULL) &&
  991. >              (c_symbol->native->u.syment.n_sclass == C_FILE)) ?
  992. 2476c2479
  993. <     coff_swap_sym_in(abfd, raw_src,&internal_ptr->u.syment);    
  994. ---
  995. >     coff_swap_sym_in(abfd, (char *)raw_src, (char *)&internal_ptr->u.syment);    
  996. 2907c2910
  997. < Coff relocations are easily transformed into the internal bfd form
  998. ---
  999. > Coff relocations are easily transformed into the internal BFD form
  1000. 3080c3083
  1001. < provided a bfd, a section and an offset into the section, calculate and
  1002. ---
  1003. > provided a BFD, a section and an offset into the section, calculate and
  1004. 3138c3141
  1005. <     If this is the same bfd as we were previously called with and this is
  1006. ---
  1007. >     If this is the same BFD as we were previously called with and this is
  1008. Only in gdb-4.0/bfd/config: hmake-hp300bsd
  1009. Only in gdb-3.98/bfd/config: tmake-a29k
  1010. Only in gdb-4.0/bfd/config: tmake-a29k-aout
  1011. Only in gdb-4.0/bfd/config: tmake-a29k-coff
  1012. Only in gdb-3.98/bfd/config: tmake-coff-a29k
  1013. Only in gdb-4.0/bfd/config: tmake-dec3100
  1014. Only in gdb-4.0/bfd/config: tmake-hp300bsd
  1015. Only in gdb-3.98/bfd/config: tmake-i386
  1016. Only in gdb-4.0/bfd/config: tmake-i386-aout
  1017. Only in gdb-4.0/bfd/config: tmake-i386-coff
  1018. Only in gdb-3.98/bfd/config: tmake-i960
  1019. Only in gdb-4.0/bfd/config: tmake-i960-bout
  1020. Only in gdb-4.0/bfd/config: tmake-i960-coff
  1021. Only in gdb-4.0/bfd/config: tmake-m68k-aout
  1022. Only in gdb-4.0/bfd/config: tmake-m68k-coff
  1023. Only in gdb-4.0/bfd/config: tmake-m88k-aout
  1024. Only in gdb-4.0/bfd/config: tmake-m88k-coff
  1025. Only in gdb-4.0/bfd/config: tmake-sparc-aout
  1026. Only in gdb-3.98/bfd/config: tmake-sun3
  1027. Only in gdb-3.98/bfd/config: tmake-sun4
  1028. Only in gdb-4.0/bfd: config.sub
  1029. diff -r gdb-3.98/bfd/configure gdb-4.0/bfd/configure
  1030. 27c27
  1031. < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
  1032. ---
  1033. > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
  1034. 57a58
  1035. > recursing=
  1036. 62a64
  1037. > commontargets=
  1038. 70c72
  1039. <     -ansi | +ansi)
  1040. ---
  1041. >     -ansi | +a*)
  1042. 71a74
  1043. >         clib=clib
  1044. 76,79d78
  1045. <     -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
  1046. <     | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
  1047. <         forcesubdirs=${arg}
  1048. <         ;;
  1049. 85c84
  1050. <     -gas | +gas | +ga | +g)
  1051. ---
  1052. >     -gas | +g*)
  1053. 88c87
  1054. <     -help | +h | +help)
  1055. ---
  1056. >     -help | +h*)
  1057. 91c90
  1058. <     -nfp | +nfp | +nf | +n)
  1059. ---
  1060. >     -nfp | +nf*)
  1061. 94c93
  1062. <     -norecurse | +norecurse)
  1063. ---
  1064. >     -norecurse | +no*)
  1065. 97c96,99
  1066. <     -rm | +rm)
  1067. ---
  1068. >     -recursing)
  1069. >         recursing=true
  1070. >         ;;
  1071. >     -rm | +r*)
  1072. 103c105,108
  1073. <     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
  1074. ---
  1075. >     -subdirs | +f* | +su*)
  1076. >         subdirs=${arg}
  1077. >         ;;
  1078. >     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
  1079. 105c110
  1080. <             forcesubdirs="+forcesubdirs"
  1081. ---
  1082. >             subdirs="+subdirs"
  1083. 111c116
  1084. <     -template=* | +template=*)
  1085. ---
  1086. >     -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
  1087. 114c119
  1088. <     +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
  1089. ---
  1090. >     -v | -verbose | +v*)
  1091. 125c130
  1092. <             forcesubdirs="+forcesubdirs"
  1093. ---
  1094. >             subdirs="+subdirs"
  1095. 136d140
  1096. <     echo targets=\"${targets}\"
  1097. 145c149
  1098. <         echo) 2>&1
  1099. ---
  1100. >         echo) 1>&2
  1101. 156c160
  1102. <     echo " +forcesubdirs    configure in subdirectories.  [in source directories]" ;
  1103. ---
  1104. >     echo " +subdirs        configure in subdirectories.  [in source directories]" ;
  1105. 167c171
  1106. <     echo "Asking for more than one \"+target\" implies \"+forcesubdirs\".  Any other" ;
  1107. ---
  1108. >     echo "Asking for more than one \"+target\" implies \"+subdirs\".  Any other" ;
  1109. 191c195
  1110. <         echo "Can't find template ${template}."
  1111. ---
  1112. >         echo '***' "Can't find template ${template}." 1>&2
  1113. 212c216
  1114. <             echo `pwd`/configure.in has no "per-host:" line.
  1115. ---
  1116. >             echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
  1117. 217c221
  1118. <             echo `pwd`/configure.in has no "per-target:" line.
  1119. ---
  1120. >             echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
  1121. 250c254,268
  1122. <     echo Rebuilt configure in `pwd`
  1123. ---
  1124. >     if [ -n "${verbose}" ] ; then
  1125. >         echo Rebuilt configure in `pwd`
  1126. >     fi
  1127. >     # Now update config.sub from the template directory.
  1128. >     if echo "$template" | grep -s 'configure$' ; then
  1129. >         cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
  1130. >     #    mv config.sub config.sub.old
  1131. >         mv config.sub.new config.sub
  1132. >         if [ -n "${verbose}" ] ; then
  1133. >             echo Rebuilt config.sub in `pwd`
  1134. >         fi
  1135. >     fi
  1136. 276c294
  1137. <                         echo No configure script in `pwd`/$i
  1138. ---
  1139. >                         echo Warning: No configure script in `pwd`/$i
  1140. 279c297,299
  1141. <                     echo Warning: directory $i is missing.
  1142. ---
  1143. >                     if [ -n "${verbose}" ] ; then
  1144. >                       echo Warning: directory $i is missing.
  1145. >                     fi
  1146. 290c310
  1147. <     echo srctrigger not set in configure.in. `pwd` not configured.
  1148. ---
  1149. >     echo Warning: srctrigger not set in configure.in. `pwd` not configured.
  1150. 300a321,325
  1151. >     result=`/bin/sh ./config.sub ${host}`
  1152. >     host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  1153. >     host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  1154. >     host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  1155. >     host=${host_cpu}-${host_vendor}-${host_os}
  1156. 305c330,371
  1157. < ## end of per-host part.
  1158. ---
  1159. > if [ "${host_os}" = "posix" ] ; then
  1160. >     bfd_host=posix
  1161. > else
  1162. >     case "${host_cpu}" in
  1163. >     rs6000)    bfd_host=aix ;;
  1164. >     mips)
  1165. >         case "${host_vendor}" in
  1166. >         dec)    bfd_host=dec3100 ;;
  1167. >         esac
  1168. >         ;;
  1169. >     m88k)
  1170. >         case "${host_vendor}" in
  1171. >         *)
  1172. >             case "${host_os}" in
  1173. >             dgux)    bfd_host=dgux ;;
  1174. >             esac
  1175. >             ;;
  1176. >         esac
  1177. >         ;;
  1178. >     m68k)
  1179. >         case "${host_vendor}" in
  1180. >         hp)    
  1181. >             case "${host_os}" in
  1182. >             hpux)    bfd_host=hp9000 ;;
  1183. >             bsd)    bfd_host=hp300bsd ;;
  1184. >             esac
  1185. >             ;;
  1186. >         sony)    bfd_host=news ;;
  1187. >         sun)    bfd_host=sun3 ;;
  1188. >         esac
  1189. >         ;;
  1190. >     i386)
  1191. >         case "${host_vendor}" in
  1192. >         *)
  1193. >             case "${host_os}" in
  1194. >             sysv)    bfd_host=i386v ;;
  1195. >             esac
  1196. >             ;;
  1197. >         esac
  1198. >         ;;
  1199. 306a373,377
  1200. >     sparc)
  1201. >         case "${host_vendor}" in
  1202. >         sun)    bfd_host=sun4 ;;
  1203. >         esac
  1204. >         ;;
  1205. 308c379,382
  1206. <     for target in ${targets} ; do
  1207. ---
  1208. >     rtpc)    bfd_host=rtbsd ;;
  1209. >     tahoe | vax)    bfd_host=${host_cpu} ;;
  1210. >     esac
  1211. > fi
  1212. 310,312c384,389
  1213. <         if [ -n "${verbose}" ] ; then
  1214. <             echo "    target=\"${target}\""
  1215. <         fi
  1216. ---
  1217. > if [ ! -f config/hmake-${bfd_host} ] ; then
  1218. >     echo '***' BFD does not support host ${host}: no file config/hmake-${bfd_host}
  1219. >     exit 1
  1220. > fi
  1221. > host_makefile_frag=config/hmake-${bfd_host}
  1222. 313a391,399
  1223. > ## end of per-host part.
  1224. >     for target in ${targets} ; do
  1225. >         result=`/bin/sh ./config.sub ${target}`
  1226. >         target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  1227. >         target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  1228. >         target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  1229. >         target=${target_cpu}-${target_vendor}-${target_os}
  1230. 317a404,453
  1231. > case "${target_vendor}" in
  1232. > aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
  1233. > sony)    bfd_target=news ;;
  1234. > intel)    bfd_target=${target_cpu}-coff ;;    
  1235. > wrs)
  1236. >     case "${target_cpu}" in
  1237. >     i960) bfd_target=i960-bout ;;
  1238. >     m68k) bfd_target=m68k-aout ;;
  1239. >     esac
  1240. >     ;;
  1241. > sun)
  1242. >     case "${target_cpu}" in
  1243. >     m68k)    bfd_target=m68k-aout ;;
  1244. >     sparc)    bfd_target=sparc-aout ;;
  1245. >     esac
  1246. >     ;;
  1247. > dec)
  1248. >     case "${target_cpu}" in
  1249. >     mips) bfd_target=dec3100 ;;
  1250. >     esac
  1251. >     ;;
  1252. > hp)
  1253. >     case "${target_cpu}" in
  1254. >     m68k)
  1255. >         case "${target_os}" in
  1256. >         hpux)    bfd_target=hp9000 ;;
  1257. >         bsd)    bfd_target=hp300bsd ;;
  1258. >         esac
  1259. >         ;;
  1260. >     esac
  1261. >     ;;
  1262. > none)
  1263. >     case "${target_cpu}" in
  1264. >     i386) bfd_target=i386-coff ;;
  1265. >     esac
  1266. >     ;;
  1267. > *)
  1268. >     case "${target_cpu}" in
  1269. >     tahoe | vax) bfd_target=${target_cpu} ;;
  1270. >     esac
  1271. >     ;;
  1272. > esac
  1273. > if [ ! -f config/tmake-${bfd_target} ] ; then
  1274. >     echo '***' BFD does not support target ${target}: no file config/tmake-${bfd_target}
  1275. >     exit 1
  1276. > fi
  1277. > target_makefile_frag=config/tmake-${bfd_target}
  1278. 327c463
  1279. <             if [ -n "${forcesubdirs}" ] ; then
  1280. ---
  1281. >             if [ -n "${subdirs}" ] ; then
  1282. 331c467
  1283. <                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
  1284. ---
  1285. >                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
  1286. 341c477
  1287. <             if [ -n "${forcesubdirs}" ] ; then
  1288. ---
  1289. >             if [ -n "${subdirs}" ] ; then
  1290. 344c480
  1291. <                     echo "${Makefile} already exists in source directory.  `pwd` not configured."
  1292. ---
  1293. >                     echo '***' "${Makefile} already exists in source directory.  `pwd` not configured." 1>&2
  1294. 351c487,498
  1295. <                 if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
  1296. ---
  1297. >                 if [ ! -d ${targetsubdir} ] ; then
  1298. >                     if [ -z "${commontargets}" ] ; then
  1299. >                         mkdir ${targetsubdir}
  1300. >                     else
  1301. >                         if [ ! -d Target-independent ] ; then
  1302. >                             mkdir Target-independent
  1303. >                         fi
  1304. >                         ${symbolic_link} Target-independent ${targetsubdir}
  1305. >                     fi # if target independent
  1306. >                 fi # if no target dir yet
  1307. 358c505
  1308. <                     echo "Configured subdirs exist.  `pwd` not configured."
  1309. ---
  1310. >                     echo '***' "Configured subdirs exist.  `pwd` not configured." 1>&2
  1311. 374c521
  1312. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  1313. ---
  1314. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  1315. 376c523
  1316. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  1317. ---
  1318. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  1319. 379c526
  1320. <                 echo \(At least ${srctrigger} is missing.\) 1>&2
  1321. ---
  1322. >                 echo '***' \(At least ${srctrigger} is missing.\) 1>&2
  1323. 393,394c540,541
  1324. <                     echo "${progname}: cannot create a link \"${link}\"," 1>&2
  1325. <                     echo "since the file \"${file}\" does not exist." 1>&2
  1326. ---
  1327. >                     echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
  1328. >                     echo '***' "since the file \"${file}\" does not exist." 1>&2
  1329. 404c551
  1330. <                     echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  1331. ---
  1332. >                     echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  1333. 407c554,557
  1334. <                 echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  1335. ---
  1336. >                 if [ -n "${verbose}" ] ; then
  1337. >                     echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  1338. >                 fi
  1339. 443c593
  1340. <             if [ -n "${forcesubdirs}" ] ; then
  1341. ---
  1342. >             if [ -n "${subdirs}" ] ; then
  1343. 500c650,652
  1344. <             echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  1345. ---
  1346. >             if [ -n "${verbose}" -o -z "${recursing}" ] ; then
  1347. >                 echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  1348. >             fi
  1349. 519,538d670
  1350. <     done # for each target
  1351. < #    # Now build a Makefile for this host.
  1352. < #    if [ -n "${forcesubdirs}" ] ; then
  1353. < #        cd ${hostsubdir}
  1354. < #        cat > GNUmakefile << E!O!F
  1355. < ## Makefile generated by configure for host ${host}.
  1356. < #
  1357. < #%:
  1358. < #    for i in ${targets} ; do \
  1359. < #        $(MAKE) -C Target-\$i \$@
  1360. < #
  1361. < #all clean stage1 stage2 stage3 stage4etags tags TAGS
  1362. < #E!O!F
  1363. < #    fi
  1364. < done # for each host
  1365. < # If there are subdirectories, then recurse. 
  1366. < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
  1367. 540,586c672,691
  1368. < # configdirs is not null
  1369. < for configdir in ${configdirs} ; do
  1370. <     echo Configuring ${configdir}...
  1371. <     specifics=
  1372. <     commons=
  1373. <     if [ -n "${defaulttargets}" ] ; then
  1374. <         for host in ${hosts} ; do
  1375. <             if [ -d ${configdir}.${host} ] ; then
  1376. <                 newspecifics="${specifics} ${host}"
  1377. <                 specifics=${newspecifics}
  1378. <             else
  1379. <                 newcommons="${commons} ${host}"
  1380. <                 commons=${newcommons}
  1381. <             fi # if target specific
  1382. <         done # for each host
  1383. <         if [ -n "${commons}" ] ; then
  1384. <             if [ -d ${configdir} ] ; then
  1385. <                 (cd ${configdir} ;
  1386. <                     ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  1387. <                     | sed 's/^/    /'
  1388. <             else
  1389. <                 echo Warning: directory \"${configdir}\" is missing.
  1390. <             fi
  1391. <         fi # if any common hosts
  1392. <         if [ -n "${specifics}" ] ; then
  1393. <             for host in ${specifics} ; do
  1394. <                 echo Configuring target specific directory ${configdir}.${host}...
  1395. <                 (cd ${configdir}.${host} ;
  1396. <                     ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  1397. <                     | sed 's/^/    /'
  1398. <             done # for host in specifics
  1399. <         fi # if there are any specifics
  1400. <     else
  1401. <         for target in ${targets} ; do
  1402. <             if [ -d ${configdir}.${target} ] ; then
  1403. <                 newspecifics="${specifics} ${target}"
  1404. <                 specifics=${newspecifics}
  1405. <             else
  1406. <                 newcommons="${commons} +target=${target}"
  1407. <                 commons=${newcommons}
  1408. <             fi
  1409. <         done # check for target specific dir override
  1410. ---
  1411. >         # If there are subdirectories, then recurse. 
  1412. >         if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then 
  1413. >             for configdir in ${configdirs} ; do
  1414. >                 if [ -n "${verbose}" ] ; then
  1415. >                     echo Configuring ${configdir}...
  1416. >                 fi
  1417. >                 if [ -d ${configdir} ] ; then
  1418. >                     (cd ${configdir} ;
  1419. >                         ./configure -recursing ${host} +target=${target} \
  1420. >                             ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
  1421. >                         | sed 's/^/    /'
  1422. >                 else
  1423. >                     if [ -n "${verbose}" ] ; then
  1424. >                         echo Warning: directory \"${configdir}\" is missing.
  1425. >                     fi
  1426. >                 fi
  1427. >             done
  1428. >         fi
  1429. >     done # for each target
  1430. 588,591c693,702
  1431. <         if [ -n "${verbose}" ] ; then
  1432. <             echo "    "commons=\"${commons}\"
  1433. <             echo "    "specifics=\"${specifics}\"
  1434. <         fi # if verbose
  1435. ---
  1436. >     # Now build a Makefile for this host.
  1437. >     if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
  1438. >         cd ${hostsubdir}
  1439. >         cat > GNUmakefile << E!O!F
  1440. > # Makefile generated by configure for host ${host}.
  1441. > ALL := $(shell ls -d Target-*)
  1442. > %:
  1443. >     $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
  1444. 593,614c704,708
  1445. <         if [ -n "${commons}" ] ; then
  1446. <             if [ -d ${configdir} ] ; then
  1447. <                 (cd ${configdir} ;
  1448. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  1449. <                         ${commons} +destdir=${destdir}) \
  1450. <                     | sed 's/^/    /'
  1451. <             else
  1452. <                 echo Warning: directory \"${configdir}\" is missing.
  1453. <             fi
  1454. <         fi # if any commons
  1455. <         if [ -n "${specifics}" ] ; then
  1456. <             for target in ${specifics} ; do
  1457. <                 echo Configuring target specific directory ${configdir}.${target}...
  1458. <                 (cd ${configdir}.${target} ;
  1459. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  1460. <                         "+target=${target}" +destdir=${destdir}) \
  1461. <                     | sed 's/^/    /'
  1462. <             done
  1463. <         fi # if any specifics
  1464. <     fi # not default targets
  1465. < done
  1466. ---
  1467. > all:
  1468. > E!O!F
  1469. >         cd ..
  1470. >     fi
  1471. > done # for each host
  1472. 619a714,744
  1473. > # Revision 1.31  1991/08/23  04:50:57  rich
  1474. > # Minor config polish.
  1475. > #
  1476. > # Revision 1.22  1991/08/23  03:31:43  rich
  1477. > # Minor polish & config mapping.
  1478. > #
  1479. > # Revision 1.30  1991/08/22  07:15:51  rich
  1480. > # Three part names, etc.
  1481. > #
  1482. > # Revision 1.29  1991/08/20  04:56:51  rich
  1483. > # revisiting error messages
  1484. > #
  1485. > # Revision 1.28  1991/08/16  19:22:17  rich
  1486. > # This is the commontargets change and should be considered
  1487. > # experimental.
  1488. > #
  1489. > # Revision 1.27  1991/08/08  01:14:13  rich
  1490. > # allow +f to stand in for +subdirs
  1491. > #
  1492. > # Revision 1.26  1991/08/07  19:21:32  rich
  1493. > # +forcesubdirs -> +subdirs
  1494. > #
  1495. > # Revision 1.25  1991/08/07  07:05:30  rich
  1496. > # Added make.
  1497. > #
  1498. > # Revision 1.24  1991/08/06  19:26:01  rich
  1499. > # revised option parsing.
  1500. > #
  1501. > # Revision 1.23  1991/08/06  19:12:32  rich
  1502. > # Host-level GNUmakefiles.
  1503. > #
  1504. diff -r gdb-3.98/bfd/configure.in gdb-4.0/bfd/configure.in
  1505. 10a11,71
  1506. > if [ "${host_os}" = "posix" ] ; then
  1507. >     bfd_host=posix
  1508. > else
  1509. >     case "${host_cpu}" in
  1510. >     rs6000)    bfd_host=aix ;;
  1511. >     mips)
  1512. >         case "${host_vendor}" in
  1513. >         dec)    bfd_host=dec3100 ;;
  1514. >         esac
  1515. >         ;;
  1516. >     m88k)
  1517. >         case "${host_vendor}" in
  1518. >         *)
  1519. >             case "${host_os}" in
  1520. >             dgux)    bfd_host=dgux ;;
  1521. >             esac
  1522. >             ;;
  1523. >         esac
  1524. >         ;;
  1525. >     m68k)
  1526. >         case "${host_vendor}" in
  1527. >         hp)    
  1528. >             case "${host_os}" in
  1529. >             hpux)    bfd_host=hp9000 ;;
  1530. >             bsd)    bfd_host=hp300bsd ;;
  1531. >             esac
  1532. >             ;;
  1533. >         sony)    bfd_host=news ;;
  1534. >         sun)    bfd_host=sun3 ;;
  1535. >         esac
  1536. >         ;;
  1537. >     i386)
  1538. >         case "${host_vendor}" in
  1539. >         *)
  1540. >             case "${host_os}" in
  1541. >             sysv)    bfd_host=i386v ;;
  1542. >             esac
  1543. >             ;;
  1544. >         esac
  1545. >         ;;
  1546. >     sparc)
  1547. >         case "${host_vendor}" in
  1548. >         sun)    bfd_host=sun4 ;;
  1549. >         esac
  1550. >         ;;
  1551. >     rtpc)    bfd_host=rtbsd ;;
  1552. >     tahoe | vax)    bfd_host=${host_cpu} ;;
  1553. >     esac
  1554. > fi
  1555. > if [ ! -f config/hmake-${bfd_host} ] ; then
  1556. >     echo '***' BFD does not support host ${host}: no file config/hmake-${bfd_host}
  1557. >     exit 1
  1558. > fi
  1559. > host_makefile_frag=config/hmake-${bfd_host}
  1560. 11a73,122
  1561. > case "${target_vendor}" in
  1562. > aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
  1563. > sony)    bfd_target=news ;;
  1564. > intel)    bfd_target=${target_cpu}-coff ;;    
  1565. > wrs)
  1566. >     case "${target_cpu}" in
  1567. >     i960) bfd_target=i960-bout ;;
  1568. >     m68k) bfd_target=m68k-aout ;;
  1569. >     esac
  1570. >     ;;
  1571. > sun)
  1572. >     case "${target_cpu}" in
  1573. >     m68k)    bfd_target=m68k-aout ;;
  1574. >     sparc)    bfd_target=sparc-aout ;;
  1575. >     esac
  1576. >     ;;
  1577. > dec)
  1578. >     case "${target_cpu}" in
  1579. >     mips) bfd_target=dec3100 ;;
  1580. >     esac
  1581. >     ;;
  1582. > hp)
  1583. >     case "${target_cpu}" in
  1584. >     m68k)
  1585. >         case "${target_os}" in
  1586. >         hpux)    bfd_target=hp9000 ;;
  1587. >         bsd)    bfd_target=hp300bsd ;;
  1588. >         esac
  1589. >         ;;
  1590. >     esac
  1591. >     ;;
  1592. > none)
  1593. >     case "${target_cpu}" in
  1594. >     i386) bfd_target=i386-coff ;;
  1595. >     esac
  1596. >     ;;
  1597. > *)
  1598. >     case "${target_cpu}" in
  1599. >     tahoe | vax) bfd_target=${target_cpu} ;;
  1600. >     esac
  1601. >     ;;
  1602. > esac
  1603. > if [ ! -f config/tmake-${bfd_target} ] ; then
  1604. >     echo '***' BFD does not support target ${target}: no file config/tmake-${bfd_target}
  1605. >     exit 1
  1606. > fi
  1607. > target_makefile_frag=config/tmake-${bfd_target}
  1608. diff -r gdb-3.98/bfd/core.c gdb-4.0/bfd/core.c
  1609. 52c52
  1610. < the file the bfd is attatched to.
  1611. ---
  1612. > the file the BFD is attached to.
  1613. 69,70c69,70
  1614. < Returns @code{true} if the core file attatched to @var{core_bfd} was
  1615. < generated by a run of the executable file attatched to @var{exec_bfd},
  1616. ---
  1617. > Returns @code{true} if the core file attached to @var{core_bfd} was
  1618. > generated by a run of the executable file attached to @var{exec_bfd},
  1619. Only in gdb-4.0/bfd: doc
  1620. diff -r gdb-3.98/bfd/ecoff.c gdb-4.0/bfd/ecoff.c
  1621. 28a29
  1622. > #include "trad-core.h"
  1623. 37a39,48
  1624. > #if HOST_SYS==DEC3100_SYS
  1625. > /* If compiling on host, implement traditional Unix core files with upage */
  1626. > #undef    coff_core_file_failing_command
  1627. > #define    coff_core_file_failing_command     trad_unix_core_file_failing_command
  1628. > #undef    coff_core_file_failing_signal
  1629. > #define    coff_core_file_failing_signal    trad_unix_core_file_failing_signal
  1630. > #undef    coff_core_file_matches_executable_p
  1631. > #define    coff_core_file_matches_executable_p    trad_unix_core_file_matches_executable_p
  1632. > #endif
  1633. 44c55
  1634. < #define    coff_swap_aux_in (PROTO(void,(*),(bfd *,PTR,PTR))) bfd_void
  1635. ---
  1636. > #define    coff_swap_aux_in (PROTO(void,(*),(bfd *,PTR,int,int,PTR))) bfd_void
  1637. 93c104,110
  1638. <       bfd_generic_archive_p, _bfd_dummy_target},
  1639. ---
  1640. >       bfd_generic_archive_p,
  1641. > #if HOST_SYS==DEC3100_SYS
  1642. >       trad_unix_core_file_p        /* On host, this works */
  1643. > #else
  1644. >       _bfd_dummy_target        /* Other folks get no core support */
  1645. > #endif
  1646. >     },
  1647. diff -r gdb-3.98/bfd/format.c gdb-4.0/bfd/format.c
  1648. 23,24c23,24
  1649. < A format is a @code{bfd} concept of high level file contents. The
  1650. < formats supported by @code{bfd} are:
  1651. ---
  1652. > A format is a BFD concept of high level file contents. The
  1653. > formats supported by BFD are:
  1654. 27c27
  1655. < The bfd may contain data, symbols, relocations and debug info.
  1656. ---
  1657. > The BFD may contain data, symbols, relocations and debug info.
  1658. 29c29
  1659. < The bfd contains other bfds and an optional index.
  1660. ---
  1661. > The BFD contains other BFDs and an optional index.
  1662. 31c31
  1663. < The bfd contains the result of an executable core dump.
  1664. ---
  1665. > The BFD contains the result of an executable core dump.
  1666. 45,46c45,46
  1667. < This routine is supplied a bfd and a format. It attempts to verify if
  1668. < the file attatched to the bfd is indeed compatible with the format
  1669. ---
  1670. > This routine is supplied a BFD and a format. It attempts to verify if
  1671. > the file attached to the BFD is indeed compatible with the format
  1672. 50c50
  1673. < If the bfd has been set to a specific @var{target} before the call,
  1674. ---
  1675. > If the BFD has been set to a specific @var{target} before the call,
  1676. 154,156c154,156
  1677. < This function sets the file format of the supplied bfd to the format
  1678. < requested. If the target set in the bfd does not support the format
  1679. < requested, the format is illegal or the bfd is not open for writing
  1680. ---
  1681. > This function sets the file format of the supplied BFD to the format
  1682. > requested. If the target set in the BFD does not support the format
  1683. > requested, the format is illegal or the BFD is not open for writing
  1684. diff -r gdb-3.98/bfd/host-aout.c gdb-4.0/bfd/host-aout.c
  1685. 1d0
  1686. < #if 0
  1687. 32c31,33
  1688. < void (*bfd_error_trap)();
  1689. ---
  1690. > /*======== This next section is stolen from ../include/a.out.gnu.h
  1691. >   ======== for all the losing Unix systems that don't provide these
  1692. >   ======== macros.  
  1693. 34c35,61
  1694. < static bfd_target *host_aout_callback ();
  1695. ---
  1696. >   When porting to a new system, you must supply:
  1697. >     HOST_PAGE_SIZE
  1698. >     HOST_SEGMENT_SIZE
  1699. >     HOST_MACHINE_ARCH    (optional)
  1700. >     HOST_MACHINE_MACHINE    (optional)
  1701. >     HOST_TEXT_START_ADDR
  1702. >     HOST_STACK_END_ADDR
  1703. >   in the ../include/h-systemname.h file.  */
  1704. > #define    PAGE_SIZE    HOST_PAGE_SIZE
  1705. > #define    SEGMENT_SIZE    HOST_SEGMENT_SIZE
  1706. > #define    TEXT_START_ADDR    HOST_TEXT_START_ADDR
  1707. > #define    STACK_END_ADDR    HOST_STACK_END_ADDR
  1708. > /*======== Stolen section begins below.  =================================*/
  1709. > #define    a_info    a_magic        /* Old traditional Unix */
  1710. > #define N_MAGIC(exec) ((exec).a_info & 0xffff)
  1711. > #define N_SET_MAGIC(exec, magic) \
  1712. >     ((exec).a_info = (((exec).a_info & 0xffff0000) | ((magic) & 0xffff)))
  1713. > /* Virtual Address of text segment from the a.out file.  For OMAGIC,
  1714. >    (almost always "unlinked .o's" these days), should be zero.
  1715. >    For linked files, should reflect reality if we know it.  */
  1716. 35a63,121
  1717. > #ifndef N_TXTADDR
  1718. > #define N_TXTADDR(x)    (N_MAGIC(x)==OMAGIC? 0 : TEXT_START_ADDR)
  1719. > #endif
  1720. > #ifndef N_BADMAG
  1721. > #define N_BADMAG(x)      (N_MAGIC(x) != OMAGIC        \
  1722. >             && N_MAGIC(x) != NMAGIC        \
  1723. >               && N_MAGIC(x) != ZMAGIC)
  1724. > #endif
  1725. > /* This complexity is for encapsulated COFF support */
  1726. > #ifndef _N_HDROFF
  1727. > #define _N_HDROFF(x)    (SEGMENT_SIZE - sizeof (struct exec))
  1728. > #endif
  1729. > #ifndef N_TXTOFF
  1730. > #define N_TXTOFF(x)    (N_MAGIC(x) == ZMAGIC ?    \
  1731. >                 _N_HDROFF((x)) + sizeof (struct exec) :    \
  1732. >                 sizeof (struct exec))
  1733. > #endif
  1734. > #ifndef N_DATOFF
  1735. > #define N_DATOFF(x)    ( N_TXTOFF(x) + (x).a_text )
  1736. > #endif
  1737. > #ifndef N_TRELOFF
  1738. > #define N_TRELOFF(x)    ( N_DATOFF(x) + (x).a_data )
  1739. > #endif
  1740. > #ifndef N_DRELOFF
  1741. > #define N_DRELOFF(x)    ( N_TRELOFF(x) + (x).a_trsize )
  1742. > #endif
  1743. > #ifndef N_SYMOFF
  1744. > #define N_SYMOFF(x)    ( N_DRELOFF(x) + (x).a_drsize )
  1745. > #endif
  1746. > #ifndef N_STROFF
  1747. > #define N_STROFF(x)    ( N_SYMOFF(x) + (x).a_syms )
  1748. > #endif
  1749. > /* Address of text segment in memory after it is loaded.  */
  1750. > #ifndef N_TXTADDR
  1751. > #define    N_TXTADDR(x)    0
  1752. > #endif
  1753. > #ifndef N_DATADDR
  1754. > #define N_DATADDR(x) \
  1755. >     (N_MAGIC(x)==OMAGIC? (N_TXTADDR(x)+(x).a_text) \
  1756. >      :  (SEGMENT_SIZE + ((N_TXTADDR(x)+(x).a_text-1) & ~(SEGMENT_SIZE-1))))
  1757. > #endif
  1758. > /* Address of bss segment in memory after it is loaded.  */
  1759. > #define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data)
  1760. > static bfd_target *NAME(host_aout,callback) ();
  1761. 40,41c126,127
  1762. < host_aout_object_p (abfd)
  1763. <      bfd *abfd;
  1764. ---
  1765. > DEFUN(NAME(host_aout,object_p), (abfd),
  1766. >      bfd *abfd)
  1767. 51c137
  1768. <   magic = bfd_h_getlong (abfd, magicbuf);
  1769. ---
  1770. >   magic = bfd_h_get_32 (abfd, magicbuf);
  1771. 55c141
  1772. <   return some_aout_object_p (abfd, host_aout_callback);
  1773. ---
  1774. >   return NAME(aout,some_aout_object_p) (abfd, NAME(host_aout,callback));
  1775. 59c145,146
  1776. <    This routine is called from some_aout_object_p just before it returns.  */
  1777. ---
  1778. >    This routine is called from NAME(some_aout_object_p) just before it returns.
  1779. >    */
  1780. 62,63c149,150
  1781. < host_aout_callback (abfd)
  1782. <      bfd *abfd;
  1783. ---
  1784. > DEFUN(NAME(host_aout,callback), (abfd),
  1785. >      bfd *abfd)
  1786. 65c152,158
  1787. <   struct exec *execp = exec_hdr (abfd);
  1788. ---
  1789. >   /* exec_hdr (abfd), a "struct internal_exec *", is just an abstraction,
  1790. >      as far as the BFD a.out layer cares.  We use it as a "struct exec *".
  1791. >      This routine moves any data from the exec header,
  1792. >      which is needed by the BFD code, out to places known to BFD.  This
  1793. >      allows the rest of the BFD code to not know or care about the structure
  1794. >      of exec_hdr (abfd).  */
  1795. >   struct exec *execp = (struct exec *)exec_hdr (abfd);
  1796. 90a184
  1797. >   obj_reloc_entry_size (abfd) = sizeof (struct relocation_info);
  1798. 96,97c190,191
  1799. < host_aout_mkobject (abfd)
  1800. <      bfd *abfd;
  1801. ---
  1802. > DEFUN(NAME(host_aout,mkobject), (abfd),
  1803. >      bfd *abfd)
  1804. 99c193,198
  1805. <   char *rawptr;
  1806. ---
  1807. >   /* This struct is just for allocating two things with one zalloc, so
  1808. >      they will be freed together, without violating alignment constraints. */
  1809. >   struct aout_exec {
  1810. >     struct aoutdata    aoutdata;
  1811. >     struct exec    exec;
  1812. >   } *rawptr;
  1813. 104c203
  1814. <   rawptr = bfd_zalloc (abfd, sizeof (struct aoutdata) + sizeof (struct exec));
  1815. ---
  1816. >   rawptr = (struct aout_exec *)bfd_zalloc (abfd, sizeof (struct aout_exec));
  1817. 111,112c210,213
  1818. <   set_tdata (abfd, (struct aoutdata *) rawptr);
  1819. <   exec_hdr (abfd) = (struct exec *) (rawptr + sizeof (struct aoutdata));
  1820. ---
  1821. >   set_tdata (abfd, &rawptr->aoutdata);
  1822. >   /* exec_hdr (abfd), a "struct internal_exec *", is just an abstraction,
  1823. >      as far as the BFD a.out layer cares.  We use it as a "struct exec *".  */
  1824. >   exec_hdr (abfd) = (struct internal_exec *) &rawptr->exec;
  1825. 131,132c232,233
  1826. < host_aout_write_object_contents (abfd)
  1827. <      bfd *abfd;
  1828. ---
  1829. > DEFUN(NAME(host_aout,write_object_contents), (abfd),
  1830. >      bfd *abfd)
  1831. 135c236,237
  1832. < #define    EXEC_BYTES_SIZE    sizeof (struct exec)
  1833. ---
  1834. > #define    EXEC_BYTES_SIZE        (sizeof (struct exec))
  1835. > #define    EXTERNAL_LIST_SIZE    (sizeof (struct nlist))
  1836. 138c240
  1837. <   struct exec *execp = exec_hdr (abfd);
  1838. ---
  1839. >   struct exec *execp = (struct exec *)exec_hdr (abfd);
  1840. 142,204c244
  1841. <   N_SET_MAGIC (*execp, OMAGIC);
  1842. <   if (abfd->flags & D_PAGED) {
  1843. <     /* This is not strictly true, but will probably do for the default
  1844. <     case.  FIXME.  
  1845. <     */
  1846. <     execp->a_text = obj_textsec (abfd)->size + EXEC_BYTES_SIZE;
  1847. <     N_SET_MAGIC (*execp, ZMAGIC);
  1848. <   } else if (abfd->flags & WP_TEXT) {
  1849. <     N_SET_MAGIC (*execp, NMAGIC);
  1850. <   }
  1851. <   N_SET_FLAGS (*execp, 0x1);    /* copied from ld.c; who the hell knows? */
  1852. < #ifndef PAGE_SIZE 
  1853. < #define PAGE_SIZE 2048
  1854. < #endif
  1855. <   if (abfd->flags & D_PAGED) 
  1856. <       {
  1857. <     data_pad = ((obj_datasec(abfd)->size + PAGE_SIZE -1)
  1858. <             & (- PAGE_SIZE)) - obj_datasec(abfd)->size;
  1859. <     if (data_pad > obj_bsssec(abfd)->size)
  1860. <       execp->a_bss = 0;
  1861. <     else 
  1862. <       execp->a_bss = obj_bsssec(abfd)->size - data_pad;
  1863. <     execp->a_data = obj_datasec(abfd)->size + data_pad;
  1864. <       }
  1865. <   else {
  1866. <     execp->a_data = obj_datasec (abfd)->size;
  1867. <     execp->a_bss = obj_bsssec (abfd)->size;
  1868. <   }
  1869. <   execp->a_syms = bfd_get_symcount (abfd) * sizeof (struct nlist);
  1870. <   execp->a_entry = bfd_get_start_address (abfd);
  1871. <   execp->a_trsize = ((obj_textsec (abfd)->reloc_count) *
  1872. <              obj_reloc_entry_size (abfd));
  1873. <                
  1874. <   execp->a_drsize = ((obj_datasec (abfd)->reloc_count) *
  1875. <              obj_reloc_entry_size (abfd));
  1876. <   bfd_aout_swap_exec_header_out (abfd, execp, exec_bytes);
  1877. <   bfd_seek (abfd, 0L, false);
  1878. <   bfd_write ((PTR) exec_bytes, 1, EXEC_BYTES_SIZE, abfd);
  1879. <   /* Now write out reloc info, followed by syms and strings */
  1880. <   if (bfd_get_symcount (abfd) != 0) 
  1881. <     {
  1882. <       bfd_seek (abfd,
  1883. <         (long)(N_SYMOFF(*execp)), false);
  1884. <       aout_write_syms (abfd);
  1885. <       bfd_seek (abfd,    (long)(N_TRELOFF(*execp)), false);
  1886. <       if (!aout_squirt_out_relocs (abfd, obj_textsec (abfd))) return false;
  1887. <       bfd_seek (abfd, (long)(N_DRELOFF(*execp)), false);
  1888. <       if (!aout_squirt_out_relocs (abfd, obj_datasec (abfd))) return false;
  1889. <     }
  1890. ---
  1891. >   WRITE_HEADERS (abfd, execp);
  1892. 209,220c249,282
  1893. < #define    aout_openr_next_archived_file    bfd_generic_openr_next_archived_file
  1894. < #define    aout_generic_stat_arch_elt    bfd_generic_stat_arch_elt
  1895. < #define    aout_slurp_armap        bfd_slurp_bsd_armap
  1896. < #define    aout_slurp_extended_name_table    bfd_true
  1897. < #define    aout_write_armap        bsd_write_armap
  1898. < #define    aout_truncate_arname        bfd_bsd_truncate_arname
  1899. < /* We use traditional Unix core file format.  */
  1900. < #define    aout_core_file_failing_command    trad_unix_core_file_failing_command
  1901. < #define    aout_core_file_failing_signal    trad_unix_core_file_failing_signal
  1902. < #define    aout_core_file_matches_executable_p    \
  1903. <                     trad_unix_core_file_matches_executable_p
  1904. ---
  1905. > #define    aout_32_openr_next_archived_file    bfd_generic_openr_next_archived_file
  1906. > #define    aout_32_generic_stat_arch_elt        bfd_generic_stat_arch_elt
  1907. > #define    aout_32_slurp_armap            bfd_slurp_bsd_armap
  1908. > #define    aout_32_slurp_extended_name_table    bfd_true
  1909. > #define    aout_32_write_armap            bsd_write_armap
  1910. > #define    aout_32_truncate_arname            bfd_bsd_truncate_arname
  1911. > /* #define aout_32_machine_type             sunos_machine_type */
  1912. > /* Traditional Unix core files with upage */
  1913. > #define    aout_32_core_file_failing_command     trad_unix_core_file_failing_command
  1914. > #define    aout_32_core_file_failing_signal    trad_unix_core_file_failing_signal
  1915. > #define    aout_32_core_file_matches_executable_p    trad_unix_core_file_matches_executable_p
  1916. > #define    aout_64_openr_next_archived_file    bfd_generic_openr_next_archived_file
  1917. > #define    aout_64_generic_stat_arch_elt        bfd_generic_stat_arch_elt
  1918. > #define    aout_64_slurp_armap            bfd_slurp_bsd_armap
  1919. > #define    aout_64_slurp_extended_name_table    bfd_true
  1920. > #define    aout_64_write_armap            bsd_write_armap
  1921. > #define    aout_64_truncate_arname            bfd_bsd_truncate_arname
  1922. > /* #define aout_64_machine_type             sunos_machine_type */
  1923. > #define    aout_64_core_file_failing_command     trad_unix_core_file_failing_command
  1924. > #define    aout_64_core_file_failing_signal    trad_unix_core_file_failing_signal
  1925. > #define    aout_64_core_file_matches_executable_p    trad_unix_core_file_matches_executable_p
  1926. > #define aout_64_bfd_debug_info_start        bfd_void
  1927. > #define aout_64_bfd_debug_info_end        bfd_void
  1928. > #define aout_64_bfd_debug_info_accumulate    bfd_void
  1929. > #define aout_32_bfd_debug_info_start        bfd_void
  1930. > #define aout_32_bfd_debug_info_end        bfd_void
  1931. > #define aout_32_bfd_debug_info_accumulate    (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
  1932. 222,223c284,286
  1933. < /* We replace this function */
  1934. < #define    aout_write_object_contents    host_aout_write_object_contents
  1935. ---
  1936. > /* We implement these routines ourselves, rather than using the generic
  1937. >    a.out versions.  */
  1938. > #define    aout_write_object_contents    host_write_object_contents
  1939. 226,240c289,304
  1940. < {
  1941. <   "a.out-host-big",        /* name */
  1942. <   bfd_target_aout_flavour_enum,
  1943. <   true,                /* target byte order */
  1944. <   true,                /* target headers byte order */
  1945. <   (HAS_RELOC | EXEC_P |        /* object flags */
  1946. <    HAS_LINENO | HAS_DEBUG |
  1947. <    HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
  1948. <   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
  1949. <   ' ',                /* ar_pad_char */
  1950. <   16,                /* ar_max_namelen */
  1951. <   _do_getb64, _do_putblong, _do_getbshort, _do_putbshort, /* data */
  1952. <   _do_getb64, _do_putblong, _do_getbshort, _do_putbshort, /* hdrs */
  1953. <     {_bfd_dummy_target, host_aout_object_p,
  1954. ---
  1955. >   {
  1956. >     "a.out-host-big",
  1957. >     bfd_target_aout_flavour_enum,
  1958. >     true,            /* target byte order */
  1959. >     true,            /* target headers byte order */
  1960. >     (HAS_RELOC | EXEC_P |    /* object flags */
  1961. >      HAS_LINENO | HAS_DEBUG |
  1962. >      HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
  1963. >     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
  1964. >     ' ',                           /* ar_pad_char */
  1965. >     16,                               /* ar_max_namelen */
  1966. >     3,                               /* minimum alignment power */
  1967. >     _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* data */
  1968. >     _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* hdrs */
  1969. >     
  1970. >       {_bfd_dummy_target, NAME(host_aout,object_p),
  1971. 242c306
  1972. <     {bfd_false, host_aout_mkobject,
  1973. ---
  1974. >       {bfd_false, NAME(host_aout,mkobject),
  1975. 244c308
  1976. <     {bfd_false, aout_write_object_contents,    /* bfd_write_contents */
  1977. ---
  1978. >       {bfd_false, NAME(host_aout,write_object_contents), /* bfd_write_contents */
  1979. 246,247c310,311
  1980. <   JUMP_TABLE(aout)
  1981. ---
  1982. >     
  1983. >     JUMP_TABLE(JNAME(aout))
  1984. 251,265c315,330
  1985. < {
  1986. <   "a.out-host-little",        /* name */
  1987. <   bfd_target_aout_flavour_enum,
  1988. <   false,            /* target byte order */
  1989. <   false,            /* target headers byte order */
  1990. <   (HAS_RELOC | EXEC_P |        /* object flags */
  1991. <    HAS_LINENO | HAS_DEBUG |
  1992. <    HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
  1993. <   (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
  1994. <   ' ',                /* ar_pad_char */
  1995. <   16,                /* ar_max_namelen */
  1996. <   _do_getllong, _do_putllong, _do_getlshort, _do_putlshort, /* data */
  1997. <   _do_getllong, _do_putllong, _do_getlshort, _do_putlshort, /* hdrs */
  1998. <     {_bfd_dummy_target, host_aout_object_p,
  1999. ---
  2000. >   {
  2001. >     "a.out-host-little",
  2002. >     bfd_target_aout_flavour_enum,
  2003. >     false,            /* target byte order */
  2004. >     false,            /* target headers byte order */
  2005. >     (HAS_RELOC | EXEC_P |    /* object flags */
  2006. >      HAS_LINENO | HAS_DEBUG |
  2007. >      HAS_SYMS | HAS_LOCALS | DYNAMIC | WP_TEXT | D_PAGED),
  2008. >     (SEC_HAS_CONTENTS | SEC_ALLOC | SEC_LOAD | SEC_RELOC), /* section flags */
  2009. >     ' ',                           /* ar_pad_char */
  2010. >     16,                               /* ar_max_namelen */
  2011. >     3,                               /* minimum alignment power */
  2012. >     _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* data */
  2013. >     _do_getb64, _do_putb64, _do_getb32, _do_putb32, _do_getb16, _do_putb16, /* hdrs */
  2014. >     
  2015. >       {_bfd_dummy_target, NAME(host_aout,object_p),
  2016. 267c332
  2017. <     {bfd_false, host_aout_mkobject,
  2018. ---
  2019. >       {bfd_false, NAME(host_aout,mkobject),
  2020. 269c334
  2021. <     {bfd_false, aout_write_object_contents,    /* bfd_write_contents */
  2022. ---
  2023. >       {bfd_false, NAME(host_aout,write_object_contents), /* bfd_write_contents */
  2024. 271,272c336,337
  2025. <   JUMP_TABLE(aout)
  2026. ---
  2027. >     
  2028. >     JUMP_TABLE(JNAME(aout))
  2029. 274d338
  2030. < #endif
  2031. diff -r gdb-3.98/bfd/ieee.c gdb-4.0/bfd/ieee.c
  2032. 1379c1379
  2033. <     /* Work out which symbol to attatch it this reloc to */
  2034. ---
  2035. >     /* Work out which symbol to attach it this reloc to */
  2036. diff -r gdb-3.98/bfd/libaout.h gdb-4.0/bfd/libaout.h
  2037. 25c25
  2038. < /* $Id: libaout.h,v 1.10 1991/07/31 16:57:44 gnu Exp $ */
  2039. ---
  2040. > /* $Id: libaout.h,v 1.11 1991/08/13 18:49:08 steve Exp $ */
  2041. 178a179,182
  2042. >         if ((obj_textsec(abfd)->vma & 0xff )== EXEC_BYTES_SIZE)  \
  2043. >         abfd->flags |= D_PAGED;         \
  2044. >     else                        \
  2045. >         abfd->flags &= ~D_PAGED;        \
  2046. Only in gdb-4.0/bfd: libbfd-in.h
  2047. diff -r gdb-3.98/bfd/libbfd.c gdb-4.0/bfd/libbfd.c
  2048. 21c21
  2049. < /* $Id: libbfd.c,v 1.18 1991/07/31 16:57:45 gnu Exp $ */
  2050. ---
  2051. > /* $Id: libbfd.c,v 1.19 1991/08/19 20:52:31 pesch Exp $ */
  2052. 132c132
  2053. <    This allows someone to play with the iostream behind bfd's back.
  2054. ---
  2055. >    This allows someone to play with the iostream behind BFD's back.
  2056. 173c173
  2057. <         /* For the time being, a bfd may not seek to it's end.  The
  2058. ---
  2059. >         /* For the time being, a BFD may not seek to it's end.  The
  2060. 276c276
  2061. < of the bfd and mangled accordingly. The mangling performs any
  2062. ---
  2063. > of the BFD and mangled accordingly. The mangling performs any
  2064. diff -r gdb-3.98/bfd/libbfd.h gdb-4.0/bfd/libbfd.h
  2065. 22c22
  2066. < /* $Id: libbfd.h,v 1.15 1991/07/31 16:57:46 gnu Exp $ */
  2067. ---
  2068. > /* $Id: libbfd.h,v 1.19 1991/08/21 21:37:36 pesch Exp $ */
  2069. 182c182,184
  2070. < /* Return the log base 2 of the value supplied, rounded up. eg an arg
  2071. ---
  2072. > /*:libbfd.c*/
  2073. > /* *i bfd_log2
  2074. > Return the log base 2 of the value supplied, rounded up. eg an arg
  2075. 185,186c187,194
  2076. < PROTO(bfd_vma, bfd_log2,(bfd_vma x));
  2077. < /* The maxiumum number of files which the cache will keep open at one
  2078. ---
  2079. >  PROTO(bfd_vma, bfd_log2,(bfd_vma x));
  2080. > /*
  2081. > */
  2082. > /*:cache.c*/
  2083. > /* BFD_CACHE_MAX_OPEN
  2084. > The maxiumum number of files which the cache will keep open at one
  2085. 191,193c199,204
  2086. < /* Zero, or a pointer to the topmost bfd on the chain.  This is used by the
  2087. < bfd_cache_lookup() macro in libbfd.h to determine when it can avoid a function
  2088. < call.  
  2089. ---
  2090. > /*
  2091. >   bfd_last_cache
  2092. > Zero, or a pointer to the topmost BFD on the chain.  This is used by
  2093. > the @code{bfd_cache_lookup} macro in @file{libbfd.h} to determine when
  2094. > it can avoid a function call.
  2095. 197,198c208,212
  2096. < /* Checks to see if the required bfd is the same as the last one looked
  2097. < up. If so then it can use the iostream in the bfd with impunity, since
  2098. ---
  2099. > /*
  2100. >   bfd_cache_lookup
  2101. > Checks to see if the required BFD is the same as the last one looked
  2102. > up. If so then it can use the iostream in the BFD with impunity, since
  2103. 206a221
  2104. > /*
  2105. 208,211c223,224
  2106. < /* Initialize a BFD by putting it on the cache LRU.
  2107. < */
  2108. < PROTO(void, bfd_cache_init, (bfd *));
  2109. < /* Remove the bfd from the cache. If the attatched file is open, then close it too.
  2110. ---
  2111. > *i bfd_cache_init
  2112. > Initialize a BFD by putting it on the cache LRU.
  2113. 213,214c226,238
  2114. < PROTO(void, bfd_cache_close, (bfd *));
  2115. < /* Call the OS to open a file for this BFD.  Returns the FILE *
  2116. ---
  2117. >  PROTO(void, bfd_cache_init, (bfd *));
  2118. > /*
  2119. > *i bfd_cache_close
  2120. > Remove the BFD from the cache. If the attached file is open, then close it too.
  2121. > */
  2122. >  PROTO(void, bfd_cache_close, (bfd *));
  2123. > /*
  2124. > *i bfd_open_file
  2125. > Call the OS to open a file for this BFD.  Returns the FILE *
  2126. 220,221c244,249
  2127. < PROTO(FILE *, bfd_open_file, (bfd *));
  2128. < /* Called when the macro @code{bfd_cache_lookup} fails to find a quick
  2129. ---
  2130. >  PROTO(FILE *, bfd_open_file, (bfd *));
  2131. > /*
  2132. > *i bfd_cache_lookup_worker
  2133. > Called when the macro @code{bfd_cache_lookup} fails to find a quick
  2134. 226c254,261
  2135. < PROTO(FILE *, bfd_cache_lookup_worker, (bfd *));
  2136. ---
  2137. >  PROTO(FILE *, bfd_cache_lookup_worker, (bfd *));
  2138. > /*
  2139. > */
  2140. > /*:reloc.c*/
  2141. Only in gdb-4.0/bfd: libcoff-in.h
  2142. diff -r gdb-3.98/bfd/libcoff.h gdb-4.0/bfd/libcoff.h
  2143. 21c21
  2144. < /* $Id: libcoff.h,v 1.11 1991/07/31 16:57:47 gnu Exp $ */
  2145. ---
  2146. > /* $Id: libcoff.h,v 1.15 1991/08/21 21:37:37 pesch Exp $ */
  2147. 87c87
  2148. < /*THE FOLLOWING*/
  2149. ---
  2150. > /*THE FOLLOWING IS EXTRACTED FROM THE SOURCE*/
  2151. 89c89
  2152. < /* The hidden information for an asymbol is:
  2153. ---
  2154. > /*:coffcode.h*/
  2155. 90a91,92
  2156. > /*
  2157. > The hidden information for an asymbol is:
  2158. 91a94
  2159. 95,97c98,102
  2160. <     /* Remembers the offset from the first symbol in the file for this
  2161. <     symbol. Generated by @code{coff_renumber_symbols}.
  2162. <     */
  2163. ---
  2164. > /*
  2165. > Remembers the offset from the first symbol in the file for this
  2166. > symbol. Generated by @code{coff_renumber_symbols}.
  2167. > */
  2168. 100,102c105,109
  2169. <     /* Should the tag field of this symbol be renumbered.
  2170. <     Created by @code{coff_pointerize_aux}.
  2171. <     */
  2172. ---
  2173. > /*
  2174. > Should the tag field of this symbol be renumbered.
  2175. > Created by @code{coff_pointerize_aux}.
  2176. > */
  2177. 105,107c112,116
  2178. <     /* Should the endidx field of this symbol be renumbered.
  2179. <     Created by @code{coff_pointerize_aux}.
  2180. <     */
  2181. ---
  2182. > /*
  2183. > Should the endidx field of this symbol be renumbered.
  2184. > Created by @code{coff_pointerize_aux}.
  2185. > */
  2186. 110,111c119,122
  2187. <     /* The container for the symbol structure as read and translated from the file.
  2188. <     */
  2189. ---
  2190. > /*
  2191. > The container for the symbol structure as read and translated from the file.
  2192. > */
  2193. 117a129
  2194. > /*
  2195. 119,120c131
  2196. < /* Each canonical asymbol really looks like this:
  2197. ---
  2198. > Each canonical asymbol really looks like this:
  2199. 121a133
  2200. 125,126c137,140
  2201. <     /* The actual symbol which the rest of bfd works with
  2202. <     */
  2203. ---
  2204. > /*
  2205. > The actual symbol which the rest of BFD works with
  2206. > */
  2207. 129,130c143,146
  2208. <     /* A pointer to the hidden information for this symbol
  2209. <     */
  2210. ---
  2211. > /*
  2212. > A pointer to the hidden information for this symbol
  2213. > */
  2214. 133,134c149,152
  2215. <     /* A pointer to the linenumber information for this symbol
  2216. <     */
  2217. ---
  2218. > /*
  2219. > A pointer to the linenumber information for this symbol
  2220. > */
  2221. 136a155,159
  2222. > /*
  2223. > */
  2224. diff -r gdb-3.98/bfd/newsos3.c gdb-4.0/bfd/newsos3.c
  2225. 123c123
  2226. < #define newsos_bfd_debug_info_accumulate    bfd_void
  2227. ---
  2228. > #define newsos_bfd_debug_info_accumulate    (PROTO(void,(*),(bfd*, struct sec *))) bfd_void
  2229. diff -r gdb-3.98/bfd/oasys.c gdb-4.0/bfd/oasys.c
  2230. 21c21
  2231. < /* $Id: oasys.c,v 1.27 1991/07/31 16:57:55 gnu Exp $ */
  2232. ---
  2233. > /* $Id: oasys.c,v 1.29 1991/08/19 23:03:07 pesch Exp $ */
  2234. 227c227
  2235. <   oasys_external_archive_header_type header_ext;
  2236. ---
  2237. >   oasys_extarchive_header_type header_ext;
  2238. 285c285
  2239. <       oasys_external_module_table_type_a_type record_ext;
  2240. ---
  2241. >       oasys_extmodule_table_type_a_type record_ext;
  2242. 307c307
  2243. <       oasys_external_module_table_type_b_type record_ext;
  2244. ---
  2245. >       oasys_extmodule_table_type_b_type record_ext;
  2246. 1060c1060
  2247. <               /* The relent has a section attatched, so it must be section
  2248. ---
  2249. >               /* The relent has a section attached, so it must be section
  2250. 1070c1070
  2251. <               /* If this symbol has a section attatched, then it
  2252. ---
  2253. >               /* If this symbol has a section attached, then it
  2254. diff -r gdb-3.98/bfd/opncls.c gdb-4.0/bfd/opncls.c
  2255. 1c1
  2256. < /* opncls.c -- open and close a bfd.
  2257. ---
  2258. > /* opncls.c -- open and close a BFD.
  2259. 21c21
  2260. < /* $Id: opncls.c,v 1.20 1991/07/31 16:57:56 gnu Exp $ */
  2261. ---
  2262. > /* $Id: opncls.c,v 1.24 1991/08/21 21:55:01 steve Exp $ */
  2263. 26c26
  2264. ---
  2265. > #include "obstack.h"
  2266. 33,49d32
  2267. < /** Locking 
  2268. <    Locking is loosely controlled by the preprocessor variable
  2269. <    BFD_LOCKS.  I say loosely because Unix barely understands locking
  2270. <    -- at least in BSD it doesn't affect programs which don't
  2271. <    explicitly use it!  That is to say it's practically useless, though
  2272. <    if everyone uses this library you'll be OK.
  2273. <    From among the many and varied lock facilities available, (none of
  2274. <    which, of course, knows about any other) we use the fcntl locks,
  2275. <    because they're Posix.
  2276. <    The reason that bfd_openr and bfd_fdopenr exist, yet only bfd_openw
  2277. <    exists is because of locking.  When we do output, we lock the
  2278. <    filename file for output, then open a temporary file which does not
  2279. <    actually get its correct filename until closing time.  This is
  2280. <    safest, but requires the asymmetry in read and write entry points.
  2281. 51,53d33
  2282. <    Perhaps, since unix has so many different kinds of locking anyway,
  2283. <    we should use the emacs lock scheme?... */
  2284. 105,106c85,86
  2285. < Opens the file supplied (using fopen) with the target supplied, it
  2286. < returns a pointer to the created bfd.
  2287. ---
  2288. > Opens the file supplied (using @code{fopen}) with the target supplied, it
  2289. > returns a pointer to the created BFD.
  2290. 155c135
  2291. < bfd_fdopenr is to bfd_fopenr much like  fdopen is to fopen. It opens a bfd on
  2292. ---
  2293. > bfd_fdopenr is to bfd_fopenr much like  fdopen is to fopen. It opens a BFD on
  2294. 172,174d151
  2295. < #ifdef BFD_LOCKS
  2296. <   struct flock lock, *lockp = &lock;
  2297. < #endif
  2298. 181,184d157
  2299. < #ifdef BFD_LOCKS
  2300. <   lockp->l_type = F_RDLCK;
  2301. <   if (fcntl (fd, F_SETLKW, lockp) == -1) return NULL;
  2302. < #endif
  2303. 199,201d171
  2304. < #ifdef BFD_LOCKS
  2305. <   nbfd->lock = (struct flock *) (nbfd + 1);
  2306. < #endif
  2307. 223,225d192
  2308. < #ifdef BFD_LOCKS
  2309. <   memcpy (nbfd->lock, lockp, sizeof (struct flock))
  2310. < #endif
  2311. 233c200
  2312. <   Returns a pointer to a freshly-allocated bfd on success, or NULL.
  2313. ---
  2314. >   Returns a pointer to a freshly-allocated BFD on success, or NULL.
  2315. 238c205
  2316. < Creates a bfd, associated with file @var{filename}, using the file
  2317. ---
  2318. > Creates a BFD, associated with file @var{filename}, using the file
  2319. 279c246
  2320. < This function closes a bfd. If the bfd was open for writing, then
  2321. ---
  2322. > This function closes a BFD. If the BFD was open for writing, then
  2323. 284c251
  2324. < All memory attatched to the bfd's obstacks is released. 
  2325. ---
  2326. > All memory attached to the BFD's obstacks is released. 
  2327. 326,327c293,294
  2328. < This routine creates a new bfd in the manner of bfd_openw, but without
  2329. < opening a file. The new bfd takes the target from the target used by
  2330. ---
  2331. > This routine creates a new BFD in the manner of @code{bfd_openw}, but without
  2332. > opening a file. The new BFD takes the target from the target used by
  2333. 403c370
  2334. < bfd.
  2335. ---
  2336. > BFD.
  2337. diff -r gdb-3.98/bfd/reloc.c gdb-4.0/bfd/reloc.c
  2338. 24c24
  2339. < Bfd maintains relocations in much the same was as it maintains
  2340. ---
  2341. > BFD maintains relocations in much the same was as it maintains
  2342. 31c31
  2343. < symbols are maintained on a per bfd basis.
  2344. ---
  2345. > symbols are maintained on a per BFD basis.
  2346. 33c33
  2347. < All a back end has to do to fit the bfd interface is to create as many
  2348. ---
  2349. > All a back end has to do to fit the BFD interface is to create as many
  2350. 47c47
  2351. < *node typedef arelent, Relocations, reloc handling functions, Relocations
  2352. ---
  2353. > @node typedef arelent, Relocations, reloc handling functions, Relocations
  2354. 87c87
  2355. < The relocaction was performed, but may not be ok - presently generated
  2356. ---
  2357. > The relocation was performed, but may not be ok - presently generated
  2358. 139c139
  2359. < the base of the section the symbol is attatched to and the value of
  2360. ---
  2361. > the base of the section the symbol is attached to and the value of
  2362. 252c252
  2363. < describe PIC relocations, but bfd can't to that sort of thing yet.
  2364. ---
  2365. > describe PIC relocations, but BFD can't to that sort of thing yet.
  2366. 266c266
  2367. < information that bfd needs to know to tie up a back end's data.
  2368. ---
  2369. > information that BFD needs to know to tie up a back end's data.
  2370. 642a643,644
  2371. diff -r gdb-3.98/bfd/section.c gdb-4.0/bfd/section.c
  2372. 23c23
  2373. < Sections are supported in bfd in @code{section.c}.
  2374. ---
  2375. > Sections are supported in BFD in @code{section.c}.
  2376. 25,26c25,26
  2377. < The raw data contained within a bfd is maintained through the section
  2378. < abstraction.  A single bfd may have any number of sections, and keeps
  2379. ---
  2380. > The raw data contained within a BFD is maintained through the section
  2381. > abstraction.  A single BFD may have any number of sections, and keeps
  2382. 40,41c40,41
  2383. < When a bfd is opened for reading, the section structures are created
  2384. < and attatched to the bfd.
  2385. ---
  2386. > When a BFD is opened for reading, the section structures are created
  2387. > and attached to the BFD.
  2388. 47,48c47,48
  2389. < Sometimes a bfd will contain more than the 'natural' number of
  2390. < sections. A back end may attatch other sections containing constructor
  2391. ---
  2392. > Sometimes a BFD will contain more than the 'natural' number of
  2393. > sections. A back end may attach other sections containing constructor
  2394. 50,51c50,51
  2395. < the sections attatched to an already open bfd. For example, the linker
  2396. < creates a supernumary section @code{COMMON} for each input file's bfd
  2397. ---
  2398. > the sections attached to an already open BFD. For example, the linker
  2399. > creates a supernumary section @code{COMMON} for each input file's BFD
  2400. 65,66c65,66
  2401. < To write a new object style bfd, the various sections to be written
  2402. < have to be created. They are attatched to the bfd in the same way as
  2403. ---
  2404. > To write a new object style BFD, the various sections to be written
  2405. > have to be created. They are attached to the BFD in the same way as
  2406. 73c73
  2407. < The data to be written comes from input sections attatched to the
  2408. ---
  2409. > The data to be written comes from input sections attached to the
  2410. 122c122
  2411. < The next section in the list belonging to the bfd, or NULL.
  2412. ---
  2413. > The next section in the list belonging to the BFD, or NULL.
  2414. 174c174
  2415. < (eg @code{__CTOR_LIST__}), attatches the symbol to it and builds a
  2416. ---
  2417. > (eg @code{__CTOR_LIST__}), attaches the symbol to it and builds a
  2418. 181a182,190
  2419. > The section is a constuctor, and should be placed at the end of the ..
  2420. > $#define SEC_CONSTRUCTOR_TEXT 0x1100
  2421. > $#define SEC_CONSTRUCTOR_DATA 0x2100
  2422. > $#define SEC_CONSTRUCTOR_BSS  0x3100
  2423. 192a202
  2424. 279c289
  2425. < The bfd which owns the section.
  2426. ---
  2427. > The BFD which owns the section.
  2428. 315,316c325,326
  2429. < This function creates a new empty section called @var{name} and attatches it
  2430. < to the end of the chain of sections for @var{bfd}. An attempt to
  2431. ---
  2432. > This function creates a new empty section called @var{name} and attaches it
  2433. > to the end of the chain of sections for the BFD supplied. An attempt to
  2434. 323c333
  2435. < If output has already started for this bfd.
  2436. ---
  2437. > If output has already started for this BFD.
  2438. 380c390
  2439. < Attempts to set the attributes of the section named in the bfd
  2440. ---
  2441. > Attempts to set the attributes of the section named in the BFD
  2442. 411,412c421,422
  2443. < Calls the provided function @var{func} for each section attatched to
  2444. < the bfd @var{abfd}, passing @var{obj} as an argument. The function
  2445. ---
  2446. > Calls the provided function @var{func} for each section attached to
  2447. > the BFD @var{abfd}, passing @var{obj} as an argument. The function
  2448. 458c468
  2449. < Writing has started to the bfd, so setting the size is invalid
  2450. ---
  2451. > Writing has started to the BFD, so setting the size is invalid
  2452. 485c495
  2453. < Sets the contents of the section @var{section} in bfd @var{abfd} to
  2454. ---
  2455. > Sets the contents of the section @var{section} in BFD @var{abfd} to
  2456. 533c543
  2457. < This function reads data from @var{section} in bfd @var{abfd} into
  2458. ---
  2459. > This function reads data from @var{section} in BFD @var{abfd} into
  2460. diff -r gdb-3.98/bfd/srec.c gdb-4.0/bfd/srec.c
  2461. 250c250
  2462. <   (void) memcpy((PTR)location, (PTR)(section->used_by_bfd) + offset, count);
  2463. ---
  2464. >   (void) memcpy((PTR)location, (PTR)((char *)(section->used_by_bfd) + offset), count);
  2465. diff -r gdb-3.98/bfd/syms.c gdb-4.0/bfd/syms.c
  2466. 23,24c23,24
  2467. < *bfd* trys to maintain as much symbol information as it can when it
  2468. < moves information from file to file. *bfd* passes information to
  2469. ---
  2470. > BFD trys to maintain as much symbol information as it can when it
  2471. > moves information from file to file. BFD passes information to
  2472. 32c32
  2473. < when a *bfd* is read in. On output, the coff back end can reconstruct
  2474. ---
  2475. > when a BFD is read in. On output, the coff back end can reconstruct
  2476. 34c34
  2477. < information unique to coff which *bfd* doesn't know or understand. If a
  2478. ---
  2479. > information unique to coff which BFD doesn't know or understand. If a
  2480. 38,39c38,39
  2481. < The symbol table of a bfd is not necessarily read in until a
  2482. < canonicalize request is made. Then the bfd back end fills in a table
  2483. ---
  2484. > The symbol table of a BFD is not necessarily read in until a
  2485. > canonicalize request is made. Then the BFD back end fills in a table
  2486. 57c57
  2487. < There are two stages to reading a symbol table from a bfd; allocating
  2488. ---
  2489. > There are two stages to reading a symbol table from a BFD; allocating
  2490. 83c83
  2491. < the bfd, and is freed when the bfd is closed.
  2492. ---
  2493. > the BFD, and is freed when the BFD is closed.
  2494. 87,89c87,89
  2495. < Writing of a symbol table is automatic when a bfd open for writing
  2496. < is closed. The application attatches a vector of pointers to pointers to symbols
  2497. < to the bfd being written, and fills in the symbol count. The close and
  2498. ---
  2499. > Writing of a symbol table is automatic when a BFD open for writing
  2500. > is closed. The application attaches a vector of pointers to pointers to symbols
  2501. > to the BFD being written, and fills in the symbol count. The close and
  2502. 92c92
  2503. < an 'owned' symbol; one which has come from another bfd, or one which
  2504. ---
  2505. > an 'owned' symbol; one which has come from another BFD, or one which
  2506. 147c147
  2507. < A pointer to the bfd which owns the symbol. This information is
  2508. ---
  2509. > A pointer to the BFD which owns the symbol. This information is
  2510. 209d208
  2511. < $#define BSF_WARNING     0x20000
  2512. 229c228
  2513. < This bit is set by the target bfd part to convey this information. 
  2514. ---
  2515. > This bit is set by the target BFD part to convey this information. 
  2516. 232a232,247
  2517. > Signal that the symbol is the label of constructor section.
  2518. > $#define BSF_CONSTRUCTOR   0x1000000
  2519. > Signal that the symbol is a warning symbol. If the symbol is a warning
  2520. > symbol, then the value field (I know this is tacky) will point to the
  2521. > asymbol which when referenced will cause the warning.
  2522. > $#define BSF_WARNING       0x2000000
  2523. > Signal that the symbol is indirect. The value of the symbol is a
  2524. > pointer to an undefined asymbol which contains the name to use
  2525. > instead.
  2526. > $#define BSF_INDIRECT     0x4000000
  2527. 235c250
  2528. < Aointer to the section to which this symbol is relative, or 0 if the
  2529. ---
  2530. > A pointer to the section to which this symbol is relative, or 0 if the
  2531. 263,264c278,279
  2532. < @code{asymbols} for all the symbols in the supplied bfd, including a
  2533. < terminal NULL pointer. If there are no symbols in the bfd, then 0 is
  2534. ---
  2535. > @code{asymbols} for all the symbols in the supplied BFD, including a
  2536. > terminal NULL pointer. If there are no symbols in the BFD, then 0 is
  2537. 274,275c289,290
  2538. < Supplied a bfd and a pointer to an uninitialized vector of pointers.
  2539. < This reads in the symbols from the bfd, and fills in the table with
  2540. ---
  2541. > Supplied a BFD and a pointer to an uninitialized vector of pointers.
  2542. > This reads in the symbols from the BFD, and fills in the table with
  2543. 290c305
  2544. < output bfd the symbols when closed.
  2545. ---
  2546. > output BFD the symbols when closed.
  2547. 330c345
  2548. <   fprintf(file," %c%c%c%c%c%c%c",
  2549. ---
  2550. >   fprintf(file," %c%c%c%c%c%c%c%c%c%c",
  2551. 336a352,354
  2552. >       (type & BSF_CONSTRUCTOR) ? 'C' : ' ',
  2553. >       (type & BSF_WARNING) ? 'W' : ' ',
  2554. >       (type & BSF_INDIRECT) ? 'I' : ' ',
  2555. 343c361
  2556. < This function creates a new @code{asymbol} structure for the bfd, and
  2557. ---
  2558. > This function creates a new @code{asymbol} structure for the BFD, and
  2559. diff -r gdb-3.98/bfd/targets.c gdb-4.0/bfd/targets.c
  2560. 21c21
  2561. < /* $Id: targets.c,v 1.23 1991/07/31 16:58:03 gnu Exp $ */
  2562. ---
  2563. > /* $Id: targets.c,v 1.25 1991/08/22 18:27:02 pesch Exp $ */
  2564. 30c30
  2565. < target back end. All the back end provides to the root part of bfd is
  2566. ---
  2567. > target back end. All the back end provides to the root part of BFD is
  2568. 40c40
  2569. < First a bfd is created by calling the internal routine
  2570. ---
  2571. > First a BFD is created by calling the internal routine
  2572. 42c42
  2573. < string supplied to @code{bfd_openr} and the new bfd pointer. 
  2574. ---
  2575. > string supplied to @code{bfd_openr} and the new BFD pointer. 
  2576. 50c50
  2577. < the target type. @xref{targets}.
  2578. ---
  2579. > the target type. @xref{bfd_target}.
  2580. 60c60
  2581. < @code{bfd_open_file}, and returns the bfd.
  2582. ---
  2583. > @code{bfd_open_file}, and returns the BFD.
  2584. 62c62
  2585. < Once the bfd has been opened and the target selected, the file format
  2586. ---
  2587. > Once the BFD has been opened and the target selected, the file format
  2588. 64c64
  2589. < the bfd with a suggested format. The routine returns @code{true} when
  2590. ---
  2591. > the BFD with a suggested format. The routine returns @code{true} when
  2592. 88,89c88,89
  2593. < vector. They are used in a number of macros further down in bfd.h, and
  2594. < are also used when calling various routines by hand inside the bfd
  2595. ---
  2596. > vector. They are used in a number of macros further down in @file{bfd.h}, and
  2597. > are also used when calling various routines by hand inside the BFD
  2598. 96c96
  2599. < For operations which index on the bfd format 
  2600. ---
  2601. > For operations which index on the BFD format 
  2602. 102c102
  2603. < "xvec" member of the struct bfd itself points here.  Each module
  2604. ---
  2605. > "xvec" member of the struct @code{bfd} itself points here.  Each module
  2606. 160c160
  2607. < entry points, since they don't take bfd as first arg.  Certain other handlers
  2608. ---
  2609. > entry points, since they don't take BFD as first arg.  Certain other handlers
  2610. 414,415c414,415
  2611. < and "target_defaulted" will be set in the bfd.  This causes
  2612. < bfd_check_format to loop over all the targets to find the one
  2613. ---
  2614. > and "target_defaulted" will be set in the BFD.  This causes
  2615. > @code{bfd_check_format} to loop over all the targets to find the one
  2616. 450c450
  2617. < names of all the valid bfd targets. Do not modify the names 
  2618. ---
  2619. > names of all the valid BFD targets. Do not modify the names 
  2620. diff -r gdb-3.98/bfd/trad-core.c gdb-4.0/bfd/trad-core.c
  2621. 38d37
  2622. < #include <sys/stat.h>
  2623. 133,134c132,137
  2624. <   core_datasec (abfd)->vma = TEXT_START_ADDR + (NBPG * u.u_tsize);
  2625. <   core_stacksec (abfd)->vma = STACK_END_ADDR - (NBPG * u.u_ssize);
  2626. ---
  2627. > #ifdef HOST_DATA_START_ADDR
  2628. >   core_datasec (abfd)->vma = HOST_DATA_START_ADDR;
  2629. > #else
  2630. >   core_datasec (abfd)->vma = HOST_TEXT_START_ADDR + (NBPG * u.u_tsize);
  2631. > #endif
  2632. >   core_stacksec (abfd)->vma = HOST_STACK_END_ADDR - (NBPG * u.u_ssize);
  2633. Only in gdb-3.98: bfd.mips
  2634. Only in gdb-4.0: config.sub
  2635. diff -r gdb-3.98/configure gdb-4.0/configure
  2636. 27c27
  2637. < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
  2638. ---
  2639. > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
  2640. 57a58
  2641. > recursing=
  2642. 62a64
  2643. > commontargets=
  2644. 70c72
  2645. <     -ansi | +ansi)
  2646. ---
  2647. >     -ansi | +a*)
  2648. 71a74
  2649. >         clib=clib
  2650. 76,79d78
  2651. <     -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
  2652. <     | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
  2653. <         forcesubdirs=${arg}
  2654. <         ;;
  2655. 85c84
  2656. <     -gas | +gas | +ga | +g)
  2657. ---
  2658. >     -gas | +g*)
  2659. 88c87
  2660. <     -help | +h | +help)
  2661. ---
  2662. >     -help | +h*)
  2663. 91c90
  2664. <     -nfp | +nfp | +nf | +n)
  2665. ---
  2666. >     -nfp | +nf*)
  2667. 94c93
  2668. <     -norecurse | +norecurse)
  2669. ---
  2670. >     -norecurse | +no*)
  2671. 97c96,99
  2672. <     -rm | +rm)
  2673. ---
  2674. >     -recursing)
  2675. >         recursing=true
  2676. >         ;;
  2677. >     -rm | +r*)
  2678. 103c105,108
  2679. <     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
  2680. ---
  2681. >     -subdirs | +f* | +su*)
  2682. >         subdirs=${arg}
  2683. >         ;;
  2684. >     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
  2685. 105c110
  2686. <             forcesubdirs="+forcesubdirs"
  2687. ---
  2688. >             subdirs="+subdirs"
  2689. 111c116
  2690. <     -template=* | +template=*)
  2691. ---
  2692. >     -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
  2693. 114c119
  2694. <     +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
  2695. ---
  2696. >     -v | -verbose | +v*)
  2697. 125c130
  2698. <             forcesubdirs="+forcesubdirs"
  2699. ---
  2700. >             subdirs="+subdirs"
  2701. 136d140
  2702. <     echo targets=\"${targets}\"
  2703. 145c149
  2704. <         echo) 2>&1
  2705. ---
  2706. >         echo) 1>&2
  2707. 156c160
  2708. <     echo " +forcesubdirs    configure in subdirectories.  [in source directories]" ;
  2709. ---
  2710. >     echo " +subdirs        configure in subdirectories.  [in source directories]" ;
  2711. 167c171
  2712. <     echo "Asking for more than one \"+target\" implies \"+forcesubdirs\".  Any other" ;
  2713. ---
  2714. >     echo "Asking for more than one \"+target\" implies \"+subdirs\".  Any other" ;
  2715. 183c187
  2716. < configdirs="libiberty bfd binutils bison gcc readline gdb ld gas gnulib ${clib} emacs prms "
  2717. ---
  2718. > configdirs="libiberty bfd binutils bison gcc readline ld gas gnulib ${clib} gdb make prms "
  2719. 192c196
  2720. <         echo "Can't find template ${template}."
  2721. ---
  2722. >         echo '***' "Can't find template ${template}." 1>&2
  2723. 213c217
  2724. <             echo `pwd`/configure.in has no "per-host:" line.
  2725. ---
  2726. >             echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
  2727. 218c222
  2728. <             echo `pwd`/configure.in has no "per-target:" line.
  2729. ---
  2730. >             echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
  2731. 251c255,258
  2732. <     echo Rebuilt configure in `pwd`
  2733. ---
  2734. >     if [ -n "${verbose}" ] ; then
  2735. >         echo Rebuilt configure in `pwd`
  2736. >     fi
  2737. 252a260,270
  2738. >     # Now update config.sub from the template directory.
  2739. >     if echo "$template" | grep -s 'configure$' ; then
  2740. >         cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
  2741. >     #    mv config.sub config.sub.old
  2742. >         mv config.sub.new config.sub
  2743. >         if [ -n "${verbose}" ] ; then
  2744. >             echo Rebuilt config.sub in `pwd`
  2745. >         fi
  2746. >     fi
  2747. 277c295
  2748. <                         echo No configure script in `pwd`/$i
  2749. ---
  2750. >                         echo Warning: No configure script in `pwd`/$i
  2751. 280c298,300
  2752. <                     echo Warning: directory $i is missing.
  2753. ---
  2754. >                     if [ -n "${verbose}" ] ; then
  2755. >                       echo Warning: directory $i is missing.
  2756. >                     fi
  2757. 291c311
  2758. <     echo srctrigger not set in configure.in. `pwd` not configured.
  2759. ---
  2760. >     echo Warning: srctrigger not set in configure.in. `pwd` not configured.
  2761. 301a322,326
  2762. >     result=`/bin/sh ./config.sub ${host}`
  2763. >     host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  2764. >     host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  2765. >     host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  2766. >     host=${host_cpu}-${host_vendor}-${host_os}
  2767. 308d332
  2768. 311,314c335,339
  2769. <         if [ -n "${verbose}" ] ; then
  2770. <             echo "    target=\"${target}\""
  2771. <         fi
  2772. ---
  2773. >         result=`/bin/sh ./config.sub ${target}`
  2774. >         target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  2775. >         target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  2776. >         target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  2777. >         target=${target_cpu}-${target_vendor}-${target_os}
  2778. 325c350
  2779. <             if [ -n "${forcesubdirs}" ] ; then
  2780. ---
  2781. >             if [ -n "${subdirs}" ] ; then
  2782. 329c354
  2783. <                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
  2784. ---
  2785. >                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
  2786. 339c364
  2787. <             if [ -n "${forcesubdirs}" ] ; then
  2788. ---
  2789. >             if [ -n "${subdirs}" ] ; then
  2790. 342c367
  2791. <                     echo "${Makefile} already exists in source directory.  `pwd` not configured."
  2792. ---
  2793. >                     echo '***' "${Makefile} already exists in source directory.  `pwd` not configured." 1>&2
  2794. 349c374,385
  2795. <                 if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
  2796. ---
  2797. >                 if [ ! -d ${targetsubdir} ] ; then
  2798. >                     if [ -z "${commontargets}" ] ; then
  2799. >                         mkdir ${targetsubdir}
  2800. >                     else
  2801. >                         if [ ! -d Target-independent ] ; then
  2802. >                             mkdir Target-independent
  2803. >                         fi
  2804. >                         ${symbolic_link} Target-independent ${targetsubdir}
  2805. >                     fi # if target independent
  2806. >                 fi # if no target dir yet
  2807. 356c392
  2808. <                     echo "Configured subdirs exist.  `pwd` not configured."
  2809. ---
  2810. >                     echo '***' "Configured subdirs exist.  `pwd` not configured." 1>&2
  2811. 372c408
  2812. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  2813. ---
  2814. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  2815. 374c410
  2816. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  2817. ---
  2818. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  2819. 377c413
  2820. <                 echo \(At least ${srctrigger} is missing.\) 1>&2
  2821. ---
  2822. >                 echo '***' \(At least ${srctrigger} is missing.\) 1>&2
  2823. 391,392c427,428
  2824. <                     echo "${progname}: cannot create a link \"${link}\"," 1>&2
  2825. <                     echo "since the file \"${file}\" does not exist." 1>&2
  2826. ---
  2827. >                     echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
  2828. >                     echo '***' "since the file \"${file}\" does not exist." 1>&2
  2829. 402c438
  2830. <                     echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  2831. ---
  2832. >                     echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  2833. 405c441,444
  2834. <                 echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  2835. ---
  2836. >                 if [ -n "${verbose}" ] ; then
  2837. >                     echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  2838. >                 fi
  2839. 441c480
  2840. <             if [ -n "${forcesubdirs}" ] ; then
  2841. ---
  2842. >             if [ -n "${subdirs}" ] ; then
  2843. 498c537,539
  2844. <             echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  2845. ---
  2846. >             if [ -n "${verbose}" -o -z "${recursing}" ] ; then
  2847. >                 echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  2848. >             fi
  2849. 517,573d557
  2850. <     done # for each target
  2851. < #    # Now build a Makefile for this host.
  2852. < #    if [ -n "${forcesubdirs}" ] ; then
  2853. < #        cd ${hostsubdir}
  2854. < #        cat > GNUmakefile << E!O!F
  2855. < ## Makefile generated by configure for host ${host}.
  2856. < #
  2857. < #%:
  2858. < #    for i in ${targets} ; do \
  2859. < #        $(MAKE) -C Target-\$i \$@
  2860. < #
  2861. < #all clean stage1 stage2 stage3 stage4etags tags TAGS
  2862. < #E!O!F
  2863. < #    fi
  2864. < done # for each host
  2865. < # If there are subdirectories, then recurse. 
  2866. < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
  2867. < # configdirs is not null
  2868. < for configdir in ${configdirs} ; do
  2869. <     echo Configuring ${configdir}...
  2870. <     specifics=
  2871. <     commons=
  2872. <     if [ -n "${defaulttargets}" ] ; then
  2873. <         for host in ${hosts} ; do
  2874. <             if [ -d ${configdir}.${host} ] ; then
  2875. <                 newspecifics="${specifics} ${host}"
  2876. <                 specifics=${newspecifics}
  2877. <             else
  2878. <                 newcommons="${commons} ${host}"
  2879. <                 commons=${newcommons}
  2880. <             fi # if target specific
  2881. <         done # for each host
  2882. <         if [ -n "${commons}" ] ; then
  2883. <             if [ -d ${configdir} ] ; then
  2884. <                 (cd ${configdir} ;
  2885. <                     ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  2886. <                     | sed 's/^/    /'
  2887. <             else
  2888. <                 echo Warning: directory \"${configdir}\" is missing.
  2889. <             fi
  2890. <         fi # if any common hosts
  2891. <         if [ -n "${specifics}" ] ; then
  2892. <             for host in ${specifics} ; do
  2893. <                 echo Configuring target specific directory ${configdir}.${host}...
  2894. <                 (cd ${configdir}.${host} ;
  2895. <                     ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  2896. <                     | sed 's/^/    /'
  2897. <             done # for host in specifics
  2898. <         fi # if there are any specifics
  2899. <     else
  2900. 575,584c559,578
  2901. <         for target in ${targets} ; do
  2902. <             if [ -d ${configdir}.${target} ] ; then
  2903. <                 newspecifics="${specifics} ${target}"
  2904. <                 specifics=${newspecifics}
  2905. <             else
  2906. <                 newcommons="${commons} +target=${target}"
  2907. <                 commons=${newcommons}
  2908. <             fi
  2909. <         done # check for target specific dir override
  2910. ---
  2911. >         # If there are subdirectories, then recurse. 
  2912. >         if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then 
  2913. >             for configdir in ${configdirs} ; do
  2914. >                 if [ -n "${verbose}" ] ; then
  2915. >                     echo Configuring ${configdir}...
  2916. >                 fi
  2917. >                 if [ -d ${configdir} ] ; then
  2918. >                     (cd ${configdir} ;
  2919. >                         ./configure -recursing ${host} +target=${target} \
  2920. >                             ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
  2921. >                         | sed 's/^/    /'
  2922. >                 else
  2923. >                     if [ -n "${verbose}" ] ; then
  2924. >                         echo Warning: directory \"${configdir}\" is missing.
  2925. >                     fi
  2926. >                 fi
  2927. >             done
  2928. >         fi
  2929. >     done # for each target
  2930. 586,589c580,589
  2931. <         if [ -n "${verbose}" ] ; then
  2932. <             echo "    "commons=\"${commons}\"
  2933. <             echo "    "specifics=\"${specifics}\"
  2934. <         fi # if verbose
  2935. ---
  2936. >     # Now build a Makefile for this host.
  2937. >     if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
  2938. >         cd ${hostsubdir}
  2939. >         cat > GNUmakefile << E!O!F
  2940. > # Makefile generated by configure for host ${host}.
  2941. > ALL := $(shell ls -d Target-*)
  2942. > %:
  2943. >     $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
  2944. 591,612c591,595
  2945. <         if [ -n "${commons}" ] ; then
  2946. <             if [ -d ${configdir} ] ; then
  2947. <                 (cd ${configdir} ;
  2948. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  2949. <                         ${commons} +destdir=${destdir}) \
  2950. <                     | sed 's/^/    /'
  2951. <             else
  2952. <                 echo Warning: directory \"${configdir}\" is missing.
  2953. <             fi
  2954. <         fi # if any commons
  2955. <         if [ -n "${specifics}" ] ; then
  2956. <             for target in ${specifics} ; do
  2957. <                 echo Configuring target specific directory ${configdir}.${target}...
  2958. <                 (cd ${configdir}.${target} ;
  2959. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  2960. <                         "+target=${target}" +destdir=${destdir}) \
  2961. <                     | sed 's/^/    /'
  2962. <             done
  2963. <         fi # if any specifics
  2964. <     fi # not default targets
  2965. < done
  2966. ---
  2967. > all:
  2968. > E!O!F
  2969. >         cd ..
  2970. >     fi
  2971. > done # for each host
  2972. 617a601,631
  2973. > # Revision 1.31  1991/08/23  04:50:57  rich
  2974. > # Minor config polish.
  2975. > #
  2976. > # Revision 1.22  1991/08/23  03:31:43  rich
  2977. > # Minor polish & config mapping.
  2978. > #
  2979. > # Revision 1.30  1991/08/22  07:15:51  rich
  2980. > # Three part names, etc.
  2981. > #
  2982. > # Revision 1.29  1991/08/20  04:56:51  rich
  2983. > # revisiting error messages
  2984. > #
  2985. > # Revision 1.28  1991/08/16  19:22:17  rich
  2986. > # This is the commontargets change and should be considered
  2987. > # experimental.
  2988. > #
  2989. > # Revision 1.27  1991/08/08  01:14:13  rich
  2990. > # allow +f to stand in for +subdirs
  2991. > #
  2992. > # Revision 1.26  1991/08/07  19:21:32  rich
  2993. > # +forcesubdirs -> +subdirs
  2994. > #
  2995. > # Revision 1.25  1991/08/07  07:05:30  rich
  2996. > # Added make.
  2997. > #
  2998. > # Revision 1.24  1991/08/06  19:26:01  rich
  2999. > # revised option parsing.
  3000. > #
  3001. > # Revision 1.23  1991/08/06  19:12:32  rich
  3002. > # Host-level GNUmakefiles.
  3003. > #
  3004. diff -r gdb-3.98/configure.in gdb-4.0/configure.in
  3005. 6c6
  3006. < configdirs="libiberty bfd binutils bison gcc readline gdb ld gas gnulib ${clib} emacs prms "
  3007. ---
  3008. > configdirs="libiberty bfd binutils bison gcc readline ld gas gnulib ${clib} gdb make prms "
  3009. diff -r gdb-3.98/gdb/ChangeLog gdb-4.0/gdb/ChangeLog
  3010. 0a1,280
  3011. > Fri Aug 23 17:14:25 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3012. >     * GDB-4.0 release!
  3013. >     * Update README.
  3014. >     * Makefile.in (VERSION):  Roll to 4.0.
  3015. >     (gdb.tar.Z):  Make refcard.ps as well, for shipment.
  3016. > Fri Aug 23 14:07:09 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
  3017. >     * doc/gdb.texinfo: minor rewordings, crossref to ptype from print,
  3018. >     more on printsyms. 
  3019. >     * doc/Makefile, Makefile.in: generate "gdb-all.texi" rather than
  3020. >     "gdb-all.texinfo" 
  3021. >     * doc/rdl-apps.texi: renamed from rdl-apps.texinfo
  3022. >     * Makefile.in, doc/Makefile, doc/.Sanitize, doc/gdb.texinfo:
  3023. >     reflect above name change
  3024. >     * WHATS.NEW: correct pointer to refcard.
  3025. >     * doc/gdb.texinfo: update New Features, Installing
  3026. >     * doc/gdbint.texinfo: add short description of configure +template
  3027. > Fri Aug 23 11:46:08 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
  3028. >     * doc/gdb.texinfo: update, fix bugs in "Installing" appendix
  3029. > Fri Aug 23 01:02:00 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3030. >     * Makefile.in:  Add config.sub, make doc/rdl-apps.texinfo for
  3031. >     tar file, add dependencies for referenced doc files.
  3032. > Thu Aug 22 22:17:06 1991  Stu Grossman  (grossman at cygint.cygnus.com)
  3033. >     * coffread.c, symfile.c, stack.c:  saberized.
  3034. > Thu Aug 22 16:20:27 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
  3035. >     * doc/refcard.tex: permuted Essential Commands sec
  3036. >     * doc/gdb.texinfo: new C++ chapter; revised installation appendix;
  3037. >     new doc for
  3038. >         set/show symbol-reloading
  3039. >         default set complaints 0
  3040. >         info all-registers
  3041. >         RET-repeat disabled after prompted long displays
  3042. >         processID (attach) interpretation of 2nd GDB cmdline arg
  3043. > Thu Aug 22 14:05:47 1991  Stu Grossman  (grossman at cygint.cygnus.com)
  3044. >     * expread.y, coffread.c, dbxread.c, target.c, mem-break.c,
  3045. >       cplus-dem.c, values.c, valprint.c, symfile.c, remote.c,
  3046. >       breakpoint.c, main.c:  lint.
  3047. > Thu Aug 22 02:02:26 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3048. >     Install new configuration scheme for GDB and friends.
  3049. >     * config.sub:  Translate ordinary names to three-part names.
  3050. >     * configure:  Use three-part names internally.
  3051. >     * configure.in:  Translate three-part names to filenames.
  3052. >     * README, WHATS.NEW:  Update for gdb-4.0.
  3053. >     * Makefile.in:  Roll VERSION to 3.99.
  3054. > Wed Aug 21 18:21:09 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3055. >     * infptrace.c (KERNEL_U_ADDR_BSD):  Include a.out.gnu.h.
  3056. >     * i960-tdep.c, m68k-tdep.c, sparc-tdep.c, tm-i960.h,
  3057. >     tm-m68k.h, remote-nindy.c:  Change ext_format_XXX structs
  3058. >     to single structures rather than arrays; when passing
  3059. >     their address, use &.  This avoids trouble with bdead compilers.
  3060. >     * mcheck.c: Don't include <stdlib.h>; just declare "void abort();"
  3061. >     instead.  This avoids portability headaches.
  3062. >     * mips-tdep.c (mips_do_registers_info):  Only print FP regs if
  3063. >     asked to.
  3064. >     * source.c (open_source_file):  Avoid ANSI const bdeath by 
  3065. >     skipping declaration and then casting result value.
  3066. >     * tm-hp300bsd.h:  Clarify comment.
  3067. >     * utils.c (strstr):  Result is const char *; ANSI bdeath.
  3068. >     * xm-hp300bsd.h:  Define HOST_BYTE_ORDER.  Redefine INT_MIN,
  3069. >     since system include file defines it differently from "defs.h",
  3070. >     though the two are equivalent for our purposes.
  3071. >     * tconfig/hp300bsd:  Add m68k-tdep.o.
  3072. > Tue Aug 20 16:01:11 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3073. >     * tconfig/sun*4:  Remove warnings about system assembler.
  3074. > Mon Aug 19 13:44:46 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3075. >     * mcheck.c:  Avoid warning about undeclared abort fn.
  3076. >     * tm-sparc.h (PC_ADJUST):  Avoid calling error() from this;
  3077. >     it causes recursive calls to error() when used in cleanups.
  3078. >     To do so requires that we make it a function, so we do.
  3079. >     * sparc-tdep.c (sparc_pc_adjust):  New implem of PC_ADJUST.
  3080. >     * utils.c (do_cleanups):  Remove the current cleanup from the
  3081. >     chain *before* calling it, in case error() is called from it.
  3082. >     The result won't be pretty, but won't be an infinite loop either.
  3083. > Mon Aug 19 00:41:04 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
  3084. >     * dbxread.c (read_struct_type): Grok anon structs for C++.
  3085. >     (vb_name, vptr_name): Null terminate these strings.
  3086. > Fri Aug 16 08:31:03 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3087. >     Minor bug fixes from BSD Net2 gdb:
  3088. >     * blockframe.c (get_prev_frame_info):  If FRAME_CHAIN_COMBINE
  3089. >     returns 0, there is no previous frame.
  3090. >     * breakpoint.c (commands_command):  If !from_tty, don't call
  3091. >     input_from_terminal_p().
  3092. >     * dbxread.c (record_misc_function):  Speed up slightly.
  3093. >     (compare_psymbols):  Ditto.
  3094. >     * infcmd.c (do_registers_info):  Take a second argument to
  3095. >     determine whether to print float registers.  "info registers"
  3096. >     does not do so anymore.  "info all-registers" does, now.
  3097. >     * mips-tdep.c, pyr-tdep.c (xxx_do_registers_info):  Take second
  3098. >     arg and ignore it.
  3099. >     * tm-mips.h, tm-pyr.h (DO_REGISTERS_INFO):  Pass second arg.
  3100. >     * inflow.c (initialize_inflow):  Set tflags_ours correctly.
  3101. >     
  3102. >     Other fixes:
  3103. >     * breakpoint.c (bpstat_do_actions):  Use a cleanup to restore
  3104. >     executing_breakpoint_commands if we are interrupted by error.
  3105. >     * coffread.c (init_lineno):  Avoid problem with zero-sized linetab
  3106. >     versus malloc/free.  From: john@labtam.labtam.oz.au (John Carey).
  3107. >     * core.c (solib_add_stub, core_open):  Call SOLIB_ADD inside a
  3108. >     catch_errors() so we can setup the frame regardless of whether
  3109. >     the shared libs work.
  3110. >     * ieee-float.c (double_to_ieee_extended):  Get exponent from
  3111. >     right place in little-endian systems.  From John Carey.
  3112. > Thu Aug 15 18:43:57 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3113. >     * main.c: Remove unused terminating_signals and catch_termination().
  3114. >     (long_options):  Terminate with a zero element.
  3115. >     [Bugfix from Atsuo Kawaguchi <atsuo@hark86.harl.hitachi.co.jp>.]
  3116. >     (gdb_readline):  Make call-compatible with readline.
  3117. >     (init_signals):  Improve comments re vfork vs. signal.
  3118. >     * utils.c (prompt_for_continue):  Use new gdb_readline().
  3119. >     If we prompt for continuation, we don't let CR repeat the previous
  3120. >     command, once we get back to a prompt.  It's too easy to keep
  3121. >     hitting CR, expecting "--more--" prompts, and have some long
  3122. >     command start repeating on you.
  3123. > Tue Aug 13 16:17:56 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3124. >     * blockframe.c (frameless_look_for_prologue):  Speed up by
  3125. >     calling SKIP_PROLOGUE_FRAMELESS_P if it's defined.
  3126. >     * tm-sparc.h (SKIP_PROLOGUE, SKIP_PROLOGUE_FRAMELESS_P):
  3127. >     Define two variants, one faster.
  3128. >     * sparc-tdep.c (sparc_frame_chain):  Use target_read_memory
  3129. >     and return zero, rather than giving an error.
  3130. >     (setup_arbitrary_frame):  Initialize the PC in the new frame.
  3131. >     (skip_prologue):  Add a second arg saying whether we're just
  3132. >     checking for a frameless function or not.
  3133. >     * core.c (core_open, core_close, core_xfer_memory):  Move
  3134. >     section table pointers and bfd* into the target_ops.
  3135. >     (core_open):  Allow errors in shared lib reading, etc.
  3136. >     (core_files_info):  Describe shared library sections.
  3137. >     * exec.c (exec_open, exec_close, exec_xfer_memory, xfer_memory,
  3138. >     exec_files_info, set_section_command):  Move section table
  3139. >     pointers and bfd* into the target_ops.
  3140. >     (add_to_section_table):  Add BFD to section table.
  3141. >     * target.c (target_xfer_memory, target_info):  Pass target to
  3142. >     xfer_memory and target_info functions.
  3143. >     * target.h:   ''
  3144. >     * gdbcore.h:  Move struct section_table.
  3145. >     * target.h:  New home of struct section_table.
  3146. >     * solib.c (solib_add):  New argument is the target_ops whose
  3147. >     section list is to be added to, if any.  Reallocate the
  3148. >     sections in that target to add any that come from shared libs.
  3149. >     (throughout) so_sections renamed to sections.
  3150. >     (solib_xfer_memory):  Deleted.
  3151. >     * tm-sunos.h (SOLIB_ADD):  Add target argument.
  3152. >     (SOLIB_XFER_MEMORY):  Delete.
  3153. >     * core.c, exec.c, inftarg.c, remote-eb.c, remote-nindy.c,
  3154. >     remote-vx.c, remote.c, target.c, target.h:  Remove add_syms vector
  3155. >     from target_ops.  It's the same on all targets.  Add two section
  3156. >     pointers to target_ops.
  3157. >     * stack.c (find_relative_frame):  Dump ancient algorithm for
  3158. >     "down", just use handy "next" pointers.
  3159. >     (frame_command):  Don't error if there is no stack; let user
  3160. >     set one.
  3161. >     * inflow.c (new_tty_prefork, new_tty):  New prefork routine
  3162. >     modifies static state in the parent process; new_tty itself
  3163. >     runs in the child and modifies the child's file descriptors
  3164. >     to match the saved static state.
  3165. >     * infrun.c (child_create_inferior):  Call new_tty_prefork,
  3166. >     fork, then new_tty.
  3167. >     * infptrace.c (child_xfer_memory):  Add ignored target arg.
  3168. >     * remote-eb.c (eb_xfer_inferior_memory):  ''
  3169. >     * remote-nindy.c (nindy_xfer_inferior_memory):  ''
  3170. >     * remote-vx.c (vx_xfer_memory):    ''
  3171. >     * remote.c (remote_xfer_memory):   ''.  Rename from
  3172. >     remote_xfer_inferior_memory.
  3173. >     * main.c (main):  Only try to attach "corefile" argument if
  3174. >     it starts with a digit.
  3175. >     * symfile.c (symbol_reloading):  New "set/show" variable.
  3176. >     (symbol_file_add):  Shorten message about symbol reading.
  3177. >     (add_symbol_file_command):  Merge with add_syms_addr_command,
  3178. >     since this should work on all targets now.
  3179. >     (stop_whining):  Default to zero, to shut up complaints
  3180. >     about bad symbol tables on many systems.
  3181. >     (free_named_symtabs):  Just exit unless symbol_reloading.
  3182. >     * xm-sun3os4.h, xm-sun4os4.h:  Define BROKEN_LARGE_ALLOCA,
  3183. >     and add comment explaining shared library screw.
  3184. >     * source.c:  #if defined => #ifdef.
  3185. > Thu Aug  8 12:23:19 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3186. >     * doc/gdbint.texinfo:  Improve doc on porting to new OS's.
  3187. > Tue Aug  6 17:16:15 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
  3188. >     * doc/rdl-apps.texinfo: provide default readline-appendix finder
  3189. >     (doc/Makefile knows how to make one for local config)
  3190. >     * Makefile.in: use doc/Makefile for doc targets
  3191. >     * doc/Makefile: GDB documentation now has its own Makefile
  3192. >       doc/refcard.tex: renamed from "gdbrc.tex"
  3193. >       doc/.Sanitize: add Makefile; recognize renamed refcard.tex
  3194. >       doc/gdbint.texinfo: add markup in "Cleanups" chapter
  3195. > Fri Aug  2 00:13:06 1991  John Gilmore  (gnu at cygint.cygnus.com)
  3196. >     * values.c (baseclass_addr):  When reading target memory, use the
  3197. >     length of the basetype, not the upper type.  We've only malloc'd
  3198. >     enough space for the basetype, leading to errors in free().
  3199. >     * expprint.c (print_subexp):  Print UNOP_MEMVAL of an OP_LONG that
  3200. >     ends up as a function specially, since we know the actual type of
  3201. >     the pointed-to address.  This (somewhat) fixes display of
  3202. >     expressions that include misc_function_vector names.  Try `cond 1
  3203. >     !strcmp("a","b")' then `i b'.
  3204. >     * infrun.c:  Move DO_DEFERRED_STORES from proceed() to resume().
  3205. >     The child can be proceeded from inside wait_for_inferior in
  3206. >     evaluating breakpoint conditions, and DO_DEFERRED_STORES was
  3207. >     getting skipped in that case.
  3208. >     * expprint.c (print_subexp):  Use filtered output, since the
  3209. >     subroutines we call use it, otherwise the output is horribly
  3210. >     mangled, since output of wrappable stuff comes out late.
  3211. >     * Makefile.in:  Bump VERSION to 3.98.1
  3212. >     * infrun.c (child_create_process):  Use execlp to find the
  3213. >     shell to exec our target program.  This requires some fiddling
  3214. >     with `environ' since there is no execlpe().
  3215. > Thu Aug  1 15:35:17 1991  Roland H. Pesch  (pesch at fowanton.cygnus.com)
  3216. >     * Makefile.in, doc/gdbrc.tex, doc/rc-* (new files):
  3217. >     Minor rearrangement of refcard permits two new make targets--
  3218. >     gdbrc.dvi        DVI output for refcard, using CM fonts
  3219. >     gdbrc.ps        PostScript refcard, using PS fonts
  3220. diff -r gdb-3.98/gdb/Makefile.in gdb-4.0/gdb/Makefile.in
  3221. 51,52c51,52
  3222. < BISON=bison
  3223. < BISONFLAGS=-y
  3224. ---
  3225. > BISON=bison -y
  3226. > BISONFLAGS=
  3227. 135c135
  3228. < VERSION = 3.98
  3229. ---
  3230. > VERSION = 4.0
  3231. 188,196d187
  3232. < # Documentation source files
  3233. < SFILES_DOCDIR = \
  3234. <     ${srcdir}/doc/gdb.texinfo    \
  3235. <     ${srcdir}/doc/pretex.m4      \
  3236. <     ${srcdir}/doc/none.m4        \
  3237. <     ${srcdir}/doc/all.m4         \
  3238. <     ${srcdir}/doc/gdbinv-m.m4   \
  3239. <     ${srcdir}/doc/gdbinv-s.m4   
  3240. 237,238c228,229
  3241. <      createtags munch configure configure.in \
  3242. <      ChangeLog ChangeLog-3.x \
  3243. ---
  3244. >      createtags munch configure configure.in config.sub \
  3245. >      ChangeLog ChangeLog-3.x refcard.ps \
  3246. 295c286
  3247. <       $(CLIBS)
  3248. ---
  3249. >       $(CLIBS) $(LOADLIBES)
  3250. 461a453
  3251. >     (cd doc; $(MAKE) $(MFLAGS) rdl-apps.texi)
  3252. 462a455
  3253. >     $(MAKE) $(MFLAGS) refcard.ps
  3254. 490c483
  3255. <     rm -f gdb.dvi rdl-apps.texinfo gdb-all*
  3256. ---
  3257. >     cd $(srcdir)/doc; make clean
  3258. 501a495,535
  3259. > STAGESTUFF=${OBS} ${TSOBS} ${NTSOBS} ${ADD_FILES} init.c init.o version.c gdb
  3260. > # Copy the object files from a particular stage into a subdirectory.
  3261. > stage1: force
  3262. >     -mkdir stage1
  3263. >     -mv -f $(STAGESTUFF) stage1
  3264. > stage2: force
  3265. >     -mkdir stage2
  3266. >     -mv -f $(STAGESTUFF) stage2
  3267. > stage3: force
  3268. >     -mkdir stage3
  3269. >     -mv -f $(STAGESTUFF) stage3
  3270. > against=stage2
  3271. > comparison: force
  3272. >     for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i ; done
  3273. > de-stage1: force
  3274. >     - (cd stage1 ; mv -f * ..)
  3275. >     - rmdir stage1
  3276. > de-stage2: force
  3277. >     - (cd stage2 ; mv -f * ..)
  3278. >     - rmdir stage2
  3279. > de-stage3: force
  3280. >     - (cd stage3 ; mv -f * ..)
  3281. >     - rmdir stage3
  3282. > Makefile: $(srcdir)/Makefile.in $(srcdir)/configure
  3283. >     (cd $(srcdir) ; \
  3284. >         ./configure +destdir=$(destdir) \
  3285. >         +norecurse \
  3286. >         `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
  3287. >         $(host) +target=$(target))
  3288. > force:
  3289. 502a537,540
  3290. > # GDB QUICK REFERENCE (TeX dvi file, CM fonts)
  3291. > refcard.dvi : $(srcdir)/doc/refcard.tex
  3292. >     ( cd $(srcdir)/doc; make refcard.dvi )
  3293. >     mv $(srcdir)/doc/refcard.dvi .
  3294. 504,507c542,555
  3295. < rdl-apps.texinfo: ${READLINE_DIR}/inc-readline.texinfo \
  3296. <             ${READLINE_DIR}/inc-history.texinfo
  3297. <     echo "@include ${READLINE_DIR}/inc-readline.texinfo" >rdl-apps.texinfo
  3298. <     echo "@include ${READLINE_DIR}/inc-history.texinfo" >>rdl-apps.texinfo
  3299. ---
  3300. > # GDB QUICK REFERENCE (PostScript output, common PS fonts)
  3301. > refcard.ps : $(srcdir)/doc/refcard.tex
  3302. >     ( cd $(srcdir)/doc; make refcard.ps )
  3303. >     mv $(srcdir)/doc/refcard.ps .
  3304. > # GDB MANUAL: TeX dvi file
  3305. > gdb.dvi : $(srcdir)/doc/gdb-all.texi $(srcdir)/doc/rdl-apps.texi
  3306. >     ( cd $(srcdir)/doc; make gdb.dvi )
  3307. >     mv $(srcdir)/doc/gdb.dvi .
  3308. > # GDB MANUAL: info file
  3309. > gdb.info: $(srcdir)/doc/gdb-all.texi
  3310. >     ( cd $(srcdir)/doc; make gdb.info )
  3311. >     mv $(srcdir)/doc/gdb.info* .
  3312. 509,527c557,560
  3313. < # Be sure to not create a bad gdb-all.texinfo if ${M4} is missing or aborts...
  3314. < gdb-all.texinfo: ${SFILES_DOCDIR}
  3315. <     rm -f gdb-all.texinfo foobus.texinfo
  3316. <     ( cd $(srcdir)/doc; \
  3317. <         ${M4} pretex.m4 none.m4 all.m4 gdb.texinfo ) >foobus.texinfo
  3318. <     mv foobus.texinfo gdb-all.texinfo
  3319. < gdb.dvi : gdb-all.texinfo rdl-apps.texinfo
  3320. <     TEXINPUTS=${TEXIDIR}:$$TEXINPUTS tex gdb-all.texinfo
  3321. <     texindex gdb-all.??
  3322. <     TEXINPUTS=${TEXIDIR}:$$TEXINPUTS tex gdb-all.texinfo
  3323. <     mv gdb-all.dvi gdb.dvi
  3324. <     rm -f gdb-all.?? gdb-all.???
  3325. < # We're using texinfo2, and older makeinfo's may not be able to
  3326. < # cope with all the markup.  In the meantime, we distribute the info
  3327. < # files as formatted by the elisp texinfo2 code.
  3328. < gdb.info: gdb-all.texinfo
  3329. <     ${MAKEINFO} gdb-all.texinfo
  3330. ---
  3331. > $(srcdir)/doc/gdb-all.texi:
  3332. >     (cd $(srcdir)/doc; $(MAKE) gdb-all.texi)
  3333. > $(srcdir)/doc/rdl-apps.texi:
  3334. >     (cd $(srcdir)/doc; $(MAKE) rdl-apps.texi)
  3335. diff -r gdb-3.98/gdb/README gdb-4.0/gdb/README
  3336. 1,2c1,2
  3337. <         README for gdb-3.98 beta release
  3338. <         John Gilmore          31 July 91
  3339. ---
  3340. >         README for gdb-4.0 release
  3341. >     John Gilmore             23 Aug 91
  3342. 4,10c4
  3343. < This is GDB, the GNU source-level debugger, presently running under
  3344. < un*x.  This is a beta test version of GDB version 4, and has not been
  3345. < extensively tested.  It surely has some bugs, both bugs that were
  3346. < present in version 3, and new bugs.  If your favorite bugfix is not
  3347. < yet present here, I encourage you to port it into this version and
  3348. < then send the diffs to bug-gdb@prep.ai.mit.edu.
  3349. ---
  3350. > This is GDB, the GNU source-level debugger, presently running under un*x.
  3351. 14c8,9
  3352. <         Unpacking and Installation
  3353. ---
  3354. > Unpacking and Installation -- quick overview
  3355. > ==========================
  3356. 18,19c13,14
  3357. < library into the parent directory of gdb.  The idea is that a variety
  3358. < of GNU tools can share a common copy of these things.
  3359. ---
  3360. > library into the parent directory of the gdb source files.  The idea is
  3361. > that a variety of GNU tools can share a common copy of these things.
  3362. 21,30c16,22
  3363. < These generic files are packaged separately from GDB, in a tar file
  3364. < called "bfd.ilrt-3.98.tar.Z".  ("ilrt" stands for include, libiberty,
  3365. < readline, and texinfo).  Unpack that tar file in the same directory in
  3366. < which you unpacked the gdb-3.98.tar.Z file, so that all the files in it
  3367. < will sit next to the 'gdb' directory.  The whole top-level directory
  3368. < will look like this with `ls -F':
  3369. <   Makefile.in       configure*        include/          texinfo/
  3370. <   README.configure  configure.in      libiberty/
  3371. <   bfd/              gdb/              readline/
  3372. ---
  3373. > These generic files are packaged together with the directory containing
  3374. > the source code for GDB, for now.  When you unpack the gdb-4.0.tar.Z
  3375. > file, you'll get a directory called `gdb-4.0', which contains:
  3376. >   Makefile.in       bfd/              configure.in      libiberty/
  3377. >   README            config.sub*       gdb/              readline/
  3378. >   README.configure  configure*        include/          texinfo/
  3379. 32,33c24
  3380. < Once you have this stuff unpacked, and your current directory is here,
  3381. < you can type:
  3382. ---
  3383. > To build GDB, you can just do:
  3384. 35c26,27
  3385. <     ./configure HOSTNAME
  3386. ---
  3387. >     cd gdb-4.0
  3388. >     ./configure HOSTTYPE        (e.g. sun4, decstation)
  3389. 36a29
  3390. >     cp gdb/gdb /usr/local/bin/gdb    (or wherever you want)
  3391. 38c31
  3392. < and all the libraries, as well as GDB will be configured and built.
  3393. ---
  3394. > This will configure and build all the libraries as well as GDB.
  3395. 43,46c36
  3396. < while debugging a program running on a machine of another type.  You
  3397. < configure it this way by specifying `./configure host -target=target';
  3398. < see below.
  3399. ---
  3400. > while debugging a program running on a machine of another type.  See below.
  3401. 48,81d37
  3402. <         More Documentation
  3403. < The GDB manual is much expanded and improved.  For online browsing,
  3404. < gdb/gdb.info is the main file, and there are gdb/gdb.info-1 through -6
  3405. < files that can be installed into your main `info' tree.  If you want a
  3406. < printed version of the manual, you can run, from the GDB source
  3407. < directory,
  3408. <     make gdb.dvi
  3409. < to make the TeX device-independent output file.  This assumes you have
  3410. < a running TeX on your system.  The source for the GDB manual is in
  3411. < doc/gdb.texinfo (and a few other files it includes), provided with
  3412. < this distribution.  The Makefile attempts to use the texinfo.tex
  3413. < supplied as part of the BFD-and-libraries tar file, since the manual
  3414. < uses Texinfo-2 which is not in common use yet.
  3415. <         Configuration Details (extracted from gdb.texinfo)
  3416. <    GDB is distributed with a `configure' script that automates the
  3417. < process of preparing GDB for installation; you can then use `make'
  3418. < to build the `gdb' program.
  3419. <    The `configure' script that's specific to GDB is distributed in
  3420. < the main GDB source directory.  However, building GDB also requires
  3421. < several other directories of source common to multiple GNU programs.
  3422. < These directories (GNU libraries and includes) are distributed
  3423. < separately, but their `configure' scripts and `Makefile's are
  3424. < designed to work together.  To ensure that GDB's `Makefile' can find
  3425. < all the pieces, you should make a single overall directory to hold
  3426. < the directories of source for GNU libraries and includes, and you
  3427. < should install the GDB source directory there too.  In this
  3428. < Appendix, we refer to the directory of GNU source directories as GNUSRC.
  3429. 83c39,111
  3430. <    At a minimum, to build GDB you need the directories
  3431. ---
  3432. > More Documentation
  3433. > ==================
  3434. >    The GDB 4.0 release includes an already-formatted reference card, ready
  3435. > for printing on a PostScript printer, as `gdb-4.0/gdb/refcard.ps'.  It
  3436. > uses the most common PostScript fonts: the Times family, Courier,
  3437. > and Symbol.  If you have a PostScript printer you can print the
  3438. > reference card by just sending `refcard.ps' to the printer.
  3439. >    The release also includes the online Info version of the manual
  3440. > already formatted: the main Info file is `gdb-4.0/gdb/gdb.info', and
  3441. > it refers to subordinate files matching `gdb.info*' in the same
  3442. > directory.
  3443. >    If you want to make these Info files yourself from the GDB
  3444. > manual's source, you need the GNU `makeinfo' program.  Once you have
  3445. > it, you can type
  3446. >      cd gdb-4.0/gdb
  3447. >      make gdb.info
  3448. > to make the Info file.
  3449. >    If you want to format and print copies of this manual, you need
  3450. > several things:
  3451. >    * TeX, the public domain typesetting program written by Donald
  3452. >      Knuth, must be installed on your system and available through
  3453. >      your execution path.
  3454. >    * `gdb-4.0/texinfo': TeX macros defining the GNU Documentation
  3455. >      Format.
  3456. >    * *A DVI output program.*  TeX doesn't actually make marks on
  3457. >      paper; it produces output files called DVI files.  If your
  3458. >      system has TeX installed, chances are it has a program for
  3459. >      printing out these files; one popular example is `dvips', which
  3460. >      can print DVI files on PostScript printers.
  3461. > Once you have these things, you can type
  3462. >      cd gdb-4.0/gdb
  3463. >      make gdb.dvi
  3464. > to format the text of this manual, and print it with the usual output
  3465. > method for TeX DVI files at your site.
  3466. >    If you want to print the reference card, but don't have a PostScript
  3467. > printer, or want to print using Computer Modern fonts instead, you can
  3468. > still print it if you have TeX.  Format the reference card by typing
  3469. >      cd gdb-4.0/gdb
  3470. >      make refcard.dvi
  3471. > The GDB reference card is designed to print in landscape mode on US
  3472. > "letter" size paper; that is, on a sheet 11 inches wide by 8.5
  3473. > inches high.  You will need to specify this form of printing as an
  3474. > option to your DVI output program.
  3475. > Installing GDB
  3476. > ==============
  3477. >    GDB comes with a `configure' script that automates the process of
  3478. > preparing GDB for installation; you can then use `make' to build the
  3479. > `gdb' program.
  3480. >    The gdb distribution includes all the source code you need for gdb
  3481. > in a single directory `gdb-4.0'.  That directory in turn contains:
  3482. > `gdb-4.0/configure'
  3483. >      Overall script for configuring GDB and all its supporting
  3484. >      libraries.
  3485. 85c113
  3486. < `GNUSRC/gdb'
  3487. ---
  3488. > `gdb-4.0/gdb'
  3489. 88c116
  3490. < `GNUSRC/bfd'
  3491. ---
  3492. > `gdb-4.0/bfd'
  3493. 91c119
  3494. < `GNUSRC/include'
  3495. ---
  3496. > `gdb-4.0/include'
  3497. 94c122
  3498. < `GNUSRC/libiberty'
  3499. ---
  3500. > `gdb-4.0/libiberty'
  3501. 97c125
  3502. < `GNUSRC/readline'
  3503. ---
  3504. > `gdb-4.0/readline'
  3505. 100,102c128,129
  3506. < Each of these directories has its own `configure' script.  GNUSRC has
  3507. < an overall `configure' script, which is distributed with the GNU
  3508. < libraries and includes.
  3509. ---
  3510. > Each of these directories has its own `configure' script, which are
  3511. > used by the overall `configure' script in `gdb-4.0'.
  3512. 104,106c131,133
  3513. <    `configure' is designed to be called recursively, so it is most
  3514. < convenient to run `configure' from the GNUSRC directory.  The
  3515. < simplest way to configure and build GDB is the following:
  3516. ---
  3517. >    It is most convenient to run `configure' from the `gdb-4.0'
  3518. > directory.  The simplest way to configure and build GDB is the
  3519. > following:
  3520. 108c135
  3521. <      cd GNUSRC
  3522. ---
  3523. >      cd gdb-4.0
  3524. 112,116c139,143
  3525. < where HOST is something like `sun4' or `vax', that identifies the
  3526. < platform where GDB will run.  This builds the three libraries `bfd',
  3527. < `readline', and `libiberty', then `gdb' itself.  The configured
  3528. < source files, and the binaries, are left in the corresponding source
  3529. < directories.
  3530. ---
  3531. > where HOST is something like `sun4' or `decstation', that identifies
  3532. > the platform where GDB will run.  This builds the three libraries
  3533. > `bfd', `readline', and `libiberty', then `gdb' itself.  The
  3534. > configured source files, and the binaries, are left in the
  3535. > corresponding source directories.
  3536. 124,125c151,152
  3537. <         Configuration Subdirectories
  3538. ---
  3539. > Configuration Subdirectories
  3540. > ============================
  3541. 127,135c154,166
  3542. <    If you build GDB for several host or target machines, and if your
  3543. < `make' program handles the `VPATH' feature (GNU `make' does), it is
  3544. < most convenient instead to build the different GDB configurations in
  3545. < subdirectories (separate from the source).  `configure' does this
  3546. < for you when you simultaneously specify several configurations; but
  3547. < it's a good habit even for a single configuration.  You can specify
  3548. < the use of subdirectories using the `+forcesubdirs' option
  3549. < (abbreviated `+f').  For example, you can build GDB on a Sun 4 as
  3550. < follows:
  3551. ---
  3552. >    If you want to run GDB versions for several host or target
  3553. > machines, you'll need a different gdb compiled for each combination
  3554. > of host and target.  `configure' is designed to make this easy by
  3555. > allowing you to generate each configuration in a separate
  3556. > subdirectory.  If your `make' program handles the `VPATH' feature
  3557. > (GNU `make' does), running `make' in each of these directories then
  3558. > builds the gdb program specified there.
  3559. >    `configure' creates these subdirectories for you when you
  3560. > simultaneously specify several configurations; but it's a good habit
  3561. > even for a single configuration.  You can specify the use of
  3562. > subdirectories using the `+subdirs' option (abbreviated `+sub'). 
  3563. > For example, you can build GDB on a Sun 4 as follows:
  3564. 137,139c168,170
  3565. <      cd GNUSRC
  3566. <      ./configure +f sun4
  3567. <      cd Host-sun4/Target-sun4
  3568. ---
  3569. >      cd gdb-4.0
  3570. >      ./configure +sub sun4
  3571. >      cd Host-sparc-sun-sunos4/Target-sparc-sun-sunos4
  3572. 143,152c174,187
  3573. < libraries, it creates nested directories `Host-HOST/Target-MACHINE'.
  3574. < This is because GDB can be configured for cross-compiling: GDB can
  3575. < run on one machine (the host) while debugging programs that run on
  3576. < another machine (the target).  You specify cross-debugging targets
  3577. < by giving the `+target=MACHINE' option to `configure'.  Specifying
  3578. < only hosts still gives you two levels of subdirectory for each host,
  3579. < with the same machine-name suffix on both.  On the other hand,
  3580. < whenever you specify both hosts and targets on the same command
  3581. < line, `configure' creates all combinations of the hosts and targets you
  3582. < list.
  3583. ---
  3584. > libraries, it creates nested directories `Host-HOST/Target-TARGET'. 
  3585. > (As you see in the example, the names used for HOST and TARGET may
  3586. > be expanded from your `configure' argument; *note Config Names::.).
  3587. > `configure' uses these two directory levels because GDB can be
  3588. > configured for cross-compiling: GDB can run on one machine (the
  3589. > host) while debugging programs that run on another machine (the
  3590. > target).  You specify cross-debugging targets by giving the
  3591. > `+target=TARGET' option to `configure'.  Specifying only hosts still
  3592. > gives you two levels of subdirectory for each host, with the same
  3593. > configuration suffix on both; that is, if you give any number of
  3594. > hosts but no targets, GDB will be configured for native debugging on
  3595. > each host.  On the other hand, whenever you specify both hosts and
  3596. > targets on the same command line, `configure' creates all
  3597. > combinations of the hosts and targets you list.
  3598. 157c192
  3599. < have `Host-HOST/Target-MACHINE' subdirectories, run `make' in those
  3600. ---
  3601. > have `Host-HOST/Target-TARGET' subdirectories, run `make' in those
  3602. 161,162c196,197
  3603. < recursively, so that typing `make' in GNUSRC (or in a
  3604. < `GNUSRC/Host-HOST/Target-MACHINE' subdirectory) builds all the
  3605. ---
  3606. > recursively, so that typing `make' in `gdb-4.0' (or in a
  3607. > `gdb-4.0/Host-HOST/Target-TARGET' subdirectory) builds all the
  3608. 165c200
  3609. <    If you run `configure' from a directory (such as GNUSRC) that
  3610. ---
  3611. >    If you run `configure' from a directory (such as `gdb-4.0') that
  3612. 167c202
  3613. < `configure' creates the `Host-HOST/Target-MACHINE' subdirectories in
  3614. ---
  3615. > `configure' creates the `Host-HOST/Target-TARGET' subdirectories in
  3616. 170,171c205,206
  3617. <      cd GNUSRC
  3618. <      configure sun4 +target=vx960
  3619. ---
  3620. >      cd gdb-4.0
  3621. >      configure sun4 +target=vxworks960
  3622. 175,179c210,220
  3623. <      GNUSRC/Host-sun4/Target-vx960
  3624. <      GNUSRC/bfd/Host-sun4/Target-vx960
  3625. <      GNUSRC/gdb/Host-sun4/Target-vx960
  3626. <      GNUSRC/libiberty/Host-sun4/Target-vx960
  3627. <      GNUSRC/readline/Host-sun4/Target-vx960
  3628. ---
  3629. >      gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  3630. >      gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  3631. >      gdb-4.0/gdb/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  3632. >      gdb-4.0/libiberty/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  3633. >      gdb-4.0/readline/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  3634. > The `Makefile' in
  3635. >      gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  3636. > will `cd' to the appropriate lower-level directories, for example:
  3637. 181,183c222
  3638. < The `Makefile' in `GNUSRC/Host-sun4/Target-vx960' will `cd' to the
  3639. < appropriate lower-level directories (such as
  3640. < `GNUSRC/bfd/Host-sun4/Target-vx960'), building each in turn.
  3641. ---
  3642. >      gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  3643. 184a224,225
  3644. > building each in turn.
  3645. 188a230,305
  3646. > Specifying Names for Hosts and Targets
  3647. > ======================================
  3648. >    The specifications used for hosts and targets in the `configure'
  3649. > script are based on a three-part naming scheme, but some short
  3650. > predefined aliases are also supported.  The full naming scheme
  3651. > encodes three pieces of information in the following pattern:
  3652. >      ARCHITECTURE-VENDOR-OS
  3653. >    For example, you can use the alias `sun4' as a HOST argument or in
  3654. > a `+target='TARGET option, but the full name of that configuration
  3655. > specifies that the architecture is `sparc', the vendor is `sun', and
  3656. > the operating system is `sunos4'.
  3657. >    The following table shows all the architectures, hosts, and OS
  3658. > prefixes that `configure' recognizes in GDB 4.0.  Entries in the "OS
  3659. > prefix"
  3660. > column ending in a `*' may be followed by a release number.
  3661. >      ARCHITECTURE  VENDOR        OS prefix
  3662. >      ------------+-------------+-------------
  3663. >                  |             |
  3664. >       a29k       | altos       | aix*
  3665. >       alliant    | aout        | aout
  3666. >       arm        | apollo      | bout
  3667. >       c1         | att         | bsd*
  3668. >       c2         | bout        | coff
  3669. >       i386       | coff        | ctix*
  3670. >       i860       | convergent  | dynix*
  3671. >       i960       | convex      | esix*
  3672. >       m68000     | dec         | hpux*
  3673. >       m68k       | encore      | isc*
  3674. >       m88k       | gould       | mach*
  3675. >       mips       | hp          | newsos*
  3676. >       ns32k      | ibm         | nindy*
  3677. >       pyramid    | intel       | none
  3678. >       rs6000     | isi         | osf*
  3679. >       rtpc       | little      | sco*    
  3680. >       sparc      | mips        | sunos*  
  3681. >       tahoe      | motorola    | sysv*   
  3682. >       tron       | ncr         | ultrix* 
  3683. >       vax        | next        | unos*   
  3684. >                  | none        | v88r*   
  3685. >                  | sco         | vms*    
  3686. >                  | sequent     | vxworks*
  3687. >                  | sgi         | 
  3688. >                  | sony        |
  3689. >                  | sun         |
  3690. >                  | unicom      |
  3691. >                  | utek        |
  3692. >                  | wrs         |
  3693. >      *Warning:* Many combinations of architecture, vendor, and OS are
  3694. >      untested.
  3695. >    The `configure' script accompanying GDB 4.0 does not provide any
  3696. > query facility to list all supported host and target names or
  3697. > aliases.  `configure' calls the Bourne shell script `config.sub' to
  3698. > map abbreviations to full names; you can read the script, if you
  3699. > wish, or you can use it to test your guesses on abbreviations--for
  3700. > example:
  3701. >      % sh config.sub sun4
  3702. >      sparc-sun-sunos4
  3703. >      % sh config.sub sun3
  3704. >      m68k-sun-sunos4
  3705. >      % sh config.sub decstation
  3706. >      mips-dec-ultrix
  3707. >      % sh config.sub hp300bsd
  3708. >      m68k-hp-bsd
  3709. >      % sh config.sub i386v
  3710. >      i386-none-sysv
  3711. >      % sh config.sub i486v
  3712. >      *** No vendor: configuration `i486v' not recognized
  3713. 190c307,308
  3714. <         `configure' Options
  3715. ---
  3716. > `configure' Options
  3717. > ===================
  3718. 195,196c313,314
  3719. <      configure [+destdir=DIR] [+forcesubdirs] [+norecur] [+rm]
  3720. <                [+target=MACHINE...] HOST...
  3721. ---
  3722. >      configure [+destdir=DIR] [+subdirs] [+norecur] [+rm]
  3723. >                [+target=TARGET...] HOST...
  3724. 199c317
  3725. < you prefer; but options introduced with `+' may be truncated.
  3726. ---
  3727. > you prefer; but you may abbreviate option names if you use `+'.
  3728. 205d322
  3729. <     
  3730. 209c326
  3731. < `+forcesubdirs'
  3732. ---
  3733. > `+subdirs'
  3734. 212c329
  3735. <           Host-MACHINE/Target-MACHINE
  3736. ---
  3737. >           Host-HOST/Target-TARGET
  3738. 219c336,337
  3739. <      one `+target=MACHINE' option on the `configure' command line.
  3740. ---
  3741. >      one
  3742. >      `+target=TARGET' option on the `configure' command line.
  3743. 226c344
  3744. <      Remove the configuration specified by other arguments.
  3745. ---
  3746. >      Remove the configuration that the other arguments specify.
  3747. 228c346
  3748. < `+target=MACHINE ...'
  3749. ---
  3750. > `+target=TARGET ...'
  3751. 230,234c348,350
  3752. <      specified MACHINE.  You may specify as many `+target' options
  3753. <      as you wish.  To see a list of available targets, execute `ls
  3754. <      tconfig' in the GDB source directory.  Without this option, GDB
  3755. <      is configured to debug programs that run on the same machine
  3756. <      (HOST) as GDB itself.
  3757. ---
  3758. >      specified TARGET.  You may specify as many `+target' options as
  3759. >      you wish.  Without this option, GDB is configured to debug
  3760. >      programs that run on the same machine (HOST) as GDB itself.
  3761. 235a352,354
  3762. >      There is no convenient way to generate a list of all available
  3763. >      targets.
  3764. 238,239c357,360
  3765. <      many host names as you wish.  To see a list of available hosts,
  3766. <      execute `ls xconfig' in the GDB source directory.
  3767. ---
  3768. >      many host names as you wish.
  3769. >      There is no convenient way to generate a list of all available
  3770. >      hosts.
  3771. 251,254c372,376
  3772. < There is an effort to produce a GDB that works with Modula-2.  I am not
  3773. < aware of anyone who is working on getting gdb to use the syntax of any
  3774. < other language.  Pascal programs which use sets, subranges, file
  3775. < variables, or nested functions will not currently work.
  3776. ---
  3777. > Andrew Beers has produced a GDB that works with Modula-2, which will
  3778. > appear in gdb-4.1.  I am not aware of anyone who is working on getting
  3779. > gdb to use the syntax of any other language.  Pascal programs which use
  3780. > sets, subranges, file variables, or nested functions will not currently
  3781. > work.
  3782. 301,302c423,431
  3783. < "mcheck.c", line 32, will produce a pointer conversion warning, which
  3784. < can be ignored.
  3785. ---
  3786. > GDB can produce warnings about symbols that it does not understand.  By
  3787. > default, these warnings are disabled.  You can enable them by executing
  3788. > `set complaint 10' (which you can put in your ~/.gdbinit if you like).
  3789. > I recommend doing this if you are working on a compiler, assembler,
  3790. > linker, or gdb, since it will point out problems that you may be able
  3791. > to fix.  Warnings produced during symbol reading indicate some mismatch
  3792. > between the object file and GDB's symbol reading code (in many cases,
  3793. > it's a mismatch between the specs for the object file format, and what
  3794. > the compiler actually outputs or the debugger actually understands).
  3795. 304,312d432
  3796. < When gdb reads object files produced by the Sun bundled C compiler,
  3797. < you will often get a "bad block start address patched" message.  You
  3798. < can shut off such messages with the command `set complaint 0' (which
  3799. < you can put in your ~/.gdbinit if you like).  Messages like this
  3800. < during symbol reading indicate some mismatch between the object file
  3801. < and GDB's symbol reading code (in this case, it's a mismatch
  3802. < between the specs for the object file format, and what Sun's compiler
  3803. < actually outputs).
  3804. 454a575,577
  3805. > I strongly recommend printing out the reference card and using it.
  3806. > Send reference-card suggestions to bug-gdb@prep.ai.mit.edu, just like bugs.
  3807. diff -r gdb-3.98/gdb/TAGS gdb-4.0/gdb/TAGS
  3808. 2,8c2,8
  3809. < blockframe.c,767
  3810. < #define INIT_FRAME_PC(206,5669
  3811. < _initialize_blockframe 659,17662
  3812. < block_for_pc 441,11923
  3813. < block_innermost_frame 638,17249
  3814. < blockvector_for_pc 387,10799
  3815. < clear_pc_function_cache(476,12674
  3816. ---
  3817. > blockframe.c,768
  3818. > #define INIT_FRAME_PC(212,5863
  3819. > _initialize_blockframe 667,17890
  3820. > block_for_pc 449,12151
  3821. > block_innermost_frame 646,17477
  3822. > blockvector_for_pc 395,11027
  3823. > clear_pc_function_cache(484,12902
  3824. 10,12c10,12
  3825. < find_pc_function 457,12234
  3826. < find_pc_misc_function 595,15874
  3827. < find_pc_partial_function 491,13186
  3828. ---
  3829. > find_pc_function 465,12462
  3830. > find_pc_misc_function 603,16102
  3831. > find_pc_partial_function 499,13414
  3832. 15c15
  3833. < get_current_block 347,9767
  3834. ---
  3835. > get_current_block 355,9995
  3836. 17,18c17,18
  3837. < get_frame_block 327,9204
  3838. < get_frame_function 372,10340
  3839. ---
  3840. > get_frame_block 335,9432
  3841. > get_frame_function 380,10568
  3842. 20,21c20,21
  3843. < get_frame_pc 303,8624
  3844. < get_frame_saved_regs 315,8848
  3845. ---
  3846. > get_frame_pc 311,8852
  3847. > get_frame_saved_regs 323,9076
  3848. 23c23
  3849. < get_pc_function_start 353,9839
  3850. ---
  3851. > get_pc_function_start 361,10067
  3852. 25c25
  3853. < get_prev_frame_info 216,6019
  3854. ---
  3855. > get_prev_frame_info 222,6213
  3856. 30c30
  3857. < breakpoint.c,1997
  3858. ---
  3859. > breakpoint.c,2039
  3860. 32,57c32,58
  3861. < _initialize_breakpoint 2265,55223
  3862. < bpstat_alloc 673,18034
  3863. < bpstat_clear 490,13520
  3864. < bpstat_clear_actions 556,14561
  3865. < bpstat_copy 511,13785
  3866. < bpstat_do_actions 575,15050
  3867. < bpstat_num 537,14203
  3868. < bpstat_print 606,15734
  3869. < bpstat_should_step 877,23326
  3870. < bpstat_stop_status 709,19011
  3871. < break_command 1351,34686
  3872. < break_command_1 1224,31574
  3873. < breakpoint_1 891,23665
  3874. < breakpoint_auto_delete 1885,46958
  3875. < breakpoint_clear_ignore_counts 2064,51244
  3876. < breakpoint_cond_eval 664,17840
  3877. < breakpoint_here_p 475,13244
  3878. < breakpoint_re_set 2015,50056
  3879. < breakpoint_re_set_one 1965,48932
  3880. < breakpoints_info 992,26203
  3881. < catch_breakpoint 1462,37181
  3882. < catch_command 1794,44784
  3883. < catch_command_1 1671,41884
  3884. < check_duplicates 1067,27810
  3885. < clear_command 1802,44905
  3886. < clear_momentary_breakpoints 1148,29714
  3887. ---
  3888. > _initialize_breakpoint 2278,55563
  3889. > bpstat_alloc 686,18373
  3890. > bpstat_clear 490,13532
  3891. > bpstat_clear_actions 556,14573
  3892. > bpstat_copy 511,13797
  3893. > bpstat_do_actions 584,15264
  3894. > bpstat_num 537,14215
  3895. > bpstat_print 619,16073
  3896. > bpstat_should_step 890,23665
  3897. > bpstat_stop_status 722,19350
  3898. > break_command 1364,35025
  3899. > break_command_1 1237,31913
  3900. > breakpoint_1 904,24004
  3901. > breakpoint_auto_delete 1898,47297
  3902. > breakpoint_clear_ignore_counts 2077,51583
  3903. > breakpoint_cond_eval 677,18179
  3904. > breakpoint_here_p 475,13256
  3905. > breakpoint_re_set 2028,50395
  3906. > breakpoint_re_set_one 1978,49271
  3907. > breakpoints_info 1005,26542
  3908. > catch_breakpoint 1475,37520
  3909. > catch_command 1807,45123
  3910. > catch_command_1 1684,42223
  3911. > check_duplicates 1080,28149
  3912. > cleanup_executing_breakpoints 573,14888
  3913. > clear_command 1815,45244
  3914. > clear_momentary_breakpoints 1161,30053
  3915. 60,78c61,79
  3916. < decode_line_spec_1 2238,54530
  3917. < delete_breakpoint 1896,47239
  3918. < delete_catch 1786,44647
  3919. < delete_catch_breakpoint 1473,37282
  3920. < delete_command 1939,48261
  3921. < describe_other_breakpoints 1021,26684
  3922. < disable_breakpoint 2173,53342
  3923. < disable_catch 1770,44266
  3924. < disable_catch_breakpoint 1468,37238
  3925. < disable_command 2186,53586
  3926. < enable_breakpoint 2131,52430
  3927. < enable_catch 1778,44456
  3928. < enable_catch_breakpoint 1478,37325
  3929. < enable_command 2160,53096
  3930. < enable_delete_breakpoint 2217,54143
  3931. < enable_delete_command 2227,54295
  3932. < enable_once_breakpoint 2199,53844
  3933. < enable_once_command 2209,53996
  3934. < get_catch_sals 1554,38817
  3935. ---
  3936. > decode_line_spec_1 2251,54870
  3937. > delete_breakpoint 1909,47578
  3938. > delete_catch 1799,44986
  3939. > delete_catch_breakpoint 1486,37621
  3940. > delete_command 1952,48600
  3941. > describe_other_breakpoints 1034,27023
  3942. > disable_breakpoint 2186,53681
  3943. > disable_catch 1783,44605
  3944. > disable_catch_breakpoint 1481,37577
  3945. > disable_command 2199,53925
  3946. > enable_breakpoint 2144,52769
  3947. > enable_catch 1791,44795
  3948. > enable_catch_breakpoint 1491,37664
  3949. > enable_command 2173,53435
  3950. > enable_delete_breakpoint 2230,54483
  3951. > enable_delete_command 2240,54635
  3952. > enable_once_breakpoint 2212,54183
  3953. > enable_once_command 2222,54336
  3954. > get_catch_sals 1567,39156
  3955. 80,88c81,89
  3956. < ignore_command 2075,51429
  3957. < insert_breakpoints 387,11300
  3958. < map_breakpoint_numbers 2100,51926
  3959. < map_catch_names 1494,37641
  3960. < mark_breakpoints_out 462,12933
  3961. < mention 1161,29945
  3962. < read_memory_nobpt 303,8970
  3963. < remove_breakpoints 433,12286
  3964. < set_breakpoint 1189,30747
  3965. ---
  3966. > ignore_command 2088,51768
  3967. > insert_breakpoints 387,11312
  3968. > map_breakpoint_numbers 2113,52265
  3969. > map_catch_names 1507,37980
  3970. > mark_breakpoints_out 462,12945
  3971. > mention 1174,30284
  3972. > read_memory_nobpt 303,8982
  3973. > remove_breakpoints 433,12298
  3974. > set_breakpoint 1202,31086
  3975. 90,97c91,98
  3976. < set_default_breakpoint 1050,27340
  3977. < set_ignore_count 2035,50595
  3978. < set_momentary_breakpoint 1136,29465
  3979. < set_raw_breakpoint 1095,28597
  3980. < tbreak_command 1359,34806
  3981. < until_break_command 1407,35805
  3982. < watch_command 1368,34942
  3983. < watchpoints_info 1006,26420
  3984. ---
  3985. > set_default_breakpoint 1063,27679
  3986. > set_ignore_count 2048,50934
  3987. > set_momentary_breakpoint 1149,29804
  3988. > set_raw_breakpoint 1108,28936
  3989. > tbreak_command 1372,35145
  3990. > until_break_command 1420,36144
  3991. > watch_command 1381,35281
  3992. > watchpoints_info 1019,26759
  3993. 126,143c127,144
  3994. < core.c,432
  3995. < _initialize_core(457,11633
  3996. < close_exec_file 205,5205
  3997. < core_close 61,1674
  3998. < core_detach 164,4335
  3999. < core_file_command 178,4607
  4000. < core_files_info 256,6326
  4001. < core_open 77,1936
  4002. < core_xfer_memory 376,9273
  4003. < get_core_registers 399,9927
  4004. < get_exec_file 244,6090
  4005. < memory_error 269,6623
  4006. < read_memory 293,7217
  4007. < read_memory_integer 321,7823
  4008. < reopen_exec_file 214,5300
  4009. < specify_exec_file_hook 194,4971
  4010. < validate_files 228,5601
  4011. < write_memory 306,7514
  4012. ---
  4013. > core.c,429
  4014. > _initialize_core(444,11056
  4015. > close_exec_file 220,5509
  4016. > core_close 59,1616
  4017. > core_detach 179,4639
  4018. > core_file_command 193,4911
  4019. > core_files_info 269,6523
  4020. > core_open 92,2234
  4021. > get_core_registers 385,9336
  4022. > get_exec_file 257,6287
  4023. > memory_error 290,7052
  4024. > read_memory 314,7646
  4025. > read_memory_integer 342,8252
  4026. > reopen_exec_file 229,5604
  4027. > solib_add_stub 81,2043
  4028. > specify_exec_file_hook 209,5275
  4029. > validate_files 241,5798
  4030. > write_memory 327,7943
  4031. 190,193c191,195
  4032. < infcmd.c,779
  4033. < #define DO_REGISTERS_INFO(798,19579
  4034. < _initialize_infcmd 977,24379
  4035. < attach_command 924,23148
  4036. ---
  4037. > infcmd.c,828
  4038. > #define DO_REGISTERS_INFO(801,19655
  4039. > _initialize_infcmd 999,24807
  4040. > all_registers_info 915,22703
  4041. > attach_command 946,23576
  4042. 195,199c197,201
  4043. < detach_command 944,23757
  4044. < static void do_registers_info 799,19639
  4045. < environment_info 640,15819
  4046. < finish_command 525,12863
  4047. < float_info 954,23944
  4048. ---
  4049. > detach_command 966,24185
  4050. > do_registers_info 803,19735
  4051. > environment_info 640,15832
  4052. > finish_command 525,12876
  4053. > float_info 976,24372
  4054. 203,207c205,210
  4055. < path_command 755,18443
  4056. < path_info 744,18188
  4057. < program_info 595,14727
  4058. < read_pc 771,18816
  4059. < registers_info 876,21898
  4060. ---
  4061. > nofp_registers_info 922,22803
  4062. > path_command 755,18456
  4063. > path_info 744,18201
  4064. > program_info 595,14740
  4065. > read_pc 771,18829
  4066. > registers_info 883,22092
  4067. 209,210c212,213
  4068. < run_stack_dummy 427,10362
  4069. < set_environment_command 660,16221
  4070. ---
  4071. > run_stack_dummy 427,10375
  4072. > set_environment_command 660,16234
  4073. 216,220c219,223
  4074. < unset_command 968,24176
  4075. < unset_environment_command 720,17636
  4076. < until_command 509,12503
  4077. < until_next_command 463,11526
  4078. < write_pc 777,18904
  4079. ---
  4080. > unset_command 990,24604
  4081. > unset_environment_command 720,17649
  4082. > until_command 509,12516
  4083. > until_next_command 463,11539
  4084. > write_pc 777,18917
  4085. 222,224c225,227
  4086. < inflow.c,367
  4087. < _initialize_inflow 456,11421
  4088. < child_mourn_inferior 410,10150
  4089. ---
  4090. > inflow.c,393
  4091. > _initialize_inflow 464,11703
  4092. > child_mourn_inferior 418,10432
  4093. 226,228c229,232
  4094. < generic_mourn_inferior 383,9484
  4095. < kill_command 359,8836
  4096. < new_tty 314,7914
  4097. ---
  4098. > generic_mourn_inferior 391,9766
  4099. > kill_command 367,9118
  4100. > new_tty 326,8307
  4101. > new_tty_prefork 317,8113
  4102. 235c239
  4103. < try_writing_regs_command 423,10512
  4104. ---
  4105. > try_writing_regs_command 431,10794
  4106. 237,258c241,262
  4107. < infrun.c,591
  4108. < #define IN_SIGTRAMP(171,6068
  4109. < _initialize_infrun 1698,51198
  4110. < child_attach 666,19933
  4111. < child_create_inferior 457,14010
  4112. < clear_proceed_status 309,9994
  4113. < handle_command 1459,43966
  4114. < init_wait_for_inferior 647,19458
  4115. < insert_step_breakpoint 1420,42913
  4116. < normal_stop 1335,40545
  4117. < proceed 339,10929
  4118. < remove_step_breakpoint 1428,43114
  4119. < restore_inferior_status 1637,49022
  4120. < resume 286,9478
  4121. < resume_cleanups 271,8978
  4122. < save_inferior_status 1601,47498
  4123. < sig_print_header 1436,43316
  4124. < sig_print_info 1442,43430
  4125. < signals_info 1563,46665
  4126. < start_remote 634,19229
  4127. < wait_for_inferior 722,21201
  4128. < writing_pc 429,13283
  4129. ---
  4130. > infrun.c,592
  4131. > #define IN_SIGTRAMP(168,5981
  4132. > _initialize_infrun 1716,51919
  4133. > child_attach 684,20654
  4134. > child_create_inferior 454,13923
  4135. > clear_proceed_status 311,10023
  4136. > handle_command 1477,44687
  4137. > init_wait_for_inferior 665,20179
  4138. > insert_step_breakpoint 1438,43634
  4139. > normal_stop 1353,41266
  4140. > proceed 341,10958
  4141. > remove_step_breakpoint 1446,43835
  4142. > restore_inferior_status 1655,49743
  4143. > resume 283,9391
  4144. > resume_cleanups 268,8891
  4145. > save_inferior_status 1619,48219
  4146. > sig_print_header 1454,44037
  4147. > sig_print_info 1460,44151
  4148. > signals_info 1581,47386
  4149. > start_remote 652,19950
  4150. > wait_for_inferior 740,21922
  4151. > writing_pc 426,13196
  4152. 260c264
  4153. < main.c,1371
  4154. ---
  4155. > main.c,1341
  4156. 262,266c266,270
  4157. < add_com 1439,35934
  4158. < add_com_alias 1451,36176
  4159. < add_info 1393,34949
  4160. < add_info_alias 1404,35142
  4161. < batch_mode 1970,47865
  4162. ---
  4163. > add_com 1373,34238
  4164. > add_com_alias 1385,34480
  4165. > add_info 1327,33253
  4166. > add_info_alias 1338,33446
  4167. > batch_mode 1904,46169
  4168. 268,273c272,276
  4169. < catch_termination 1068,26744
  4170. < cd_command 1660,40627
  4171. < command_line_input 1131,28669
  4172. < command_loop 747,18201
  4173. < command_loop_marker 739,18049
  4174. < define_command 1498,36999
  4175. ---
  4176. > cd_command 1594,38931
  4177. > command_line_input 1065,26976
  4178. > command_loop 748,18240
  4179. > command_loop_marker 740,18088
  4180. > define_command 1432,35303
  4181. 275,290c278,293
  4182. < do_nothing 1084,27203
  4183. < document_command 1540,38104
  4184. < dont_repeat 776,18983
  4185. < dump_me_command 1784,42917
  4186. < echo_command 1755,42470
  4187. < error_no_arg 1461,36389
  4188. < execute_command 685,16739
  4189. < float_handler 1961,47593
  4190. < free_command_lines 1375,34640
  4191. < gdb_readline 796,19615
  4192. < help_command 1469,36498
  4193. < info_command 1417,35485
  4194. < init_signals 1089,27234
  4195. < initialize_cmd_lists 1977,47947
  4196. < initialize_main 1993,48446
  4197. < input_from_terminal_p 1638,40150
  4198. ---
  4199. > do_nothing 1024,25650
  4200. > document_command 1474,36408
  4201. > dont_repeat 777,19022
  4202. > dump_me_command 1718,41221
  4203. > echo_command 1689,40774
  4204. > error_no_arg 1395,34693
  4205. > execute_command 686,16778
  4206. > float_handler 1895,45897
  4207. > free_command_lines 1309,32944
  4208. > gdb_readline 794,19548
  4209. > help_command 1403,34802
  4210. > info_command 1351,33789
  4211. > init_signals 1029,25681
  4212. > initialize_cmd_lists 1911,46251
  4213. > initialize_main 1927,46750
  4214. > input_from_terminal_p 1572,38454
  4215. 292,296c295,299
  4216. < noop_completer 871,21393
  4217. < print_gdb_version 1585,39022
  4218. < print_prompt 1611,39637
  4219. < pwd_command 1645,40248
  4220. < quit_command 1618,39715
  4221. ---
  4222. > noop_completer 859,21061
  4223. > print_gdb_version 1519,37326
  4224. > print_prompt 1545,37941
  4225. > pwd_command 1579,38552
  4226. > quit_command 1552,38019
  4227. 298c301
  4228. < read_command_lines 1320,33264
  4229. ---
  4230. > read_command_lines 1254,31568
  4231. 300,306c303,309
  4232. < set_history 1916,46592
  4233. < set_history_size_command 1903,46347
  4234. < set_verbose 1938,47087
  4235. < show_command 1429,35769
  4236. < show_commands 1800,43282
  4237. < show_history 1926,46830
  4238. < show_version 1599,39438
  4239. ---
  4240. > set_history 1850,44896
  4241. > set_history_size_command 1837,44651
  4242. > set_verbose 1872,45391
  4243. > show_command 1363,34073
  4244. > show_commands 1734,41586
  4245. > show_history 1860,45134
  4246. > show_version 1533,37742
  4247. 309,312c312,315
  4248. < source_command 1727,41970
  4249. < stop_sig 1016,25574
  4250. < symbol_completion_function 886,21985
  4251. < validate_comname 1477,36632
  4252. ---
  4253. > source_command 1661,40274
  4254. > stop_sig 1004,25242
  4255. > symbol_completion_function 874,21653
  4256. > validate_comname 1411,34936
  4257. 356,386c359,389
  4258. < remote.c,750
  4259. < _initialize_remote 851,19532
  4260. < dcache_alloc 755,17022
  4261. < dcache_fetch 772,17390
  4262. < dcache_flush 703,16008
  4263. < dcache_hit 720,16300
  4264. < dcache_init 813,18275
  4265. < dcache_poke 789,17754
  4266. < dcache_value 741,16685
  4267. < fromhex 233,5646
  4268. < getpkt 614,13508
  4269. < putpkt 568,12616
  4270. < readchar 531,11985
  4271. < remote_close 141,3464
  4272. < remote_detach 218,5362
  4273. < remote_fetch_registers 303,6985
  4274. < remote_fetch_word 373,8512
  4275. < remote_files_info 504,11432
  4276. < remote_open 153,3682
  4277. < remote_prepare_to_store 334,7757
  4278. < remote_read_bytes 444,10091
  4279. < remote_resume 260,6049
  4280. < remote_send 553,12362
  4281. < remote_start(133,3374
  4282. < remote_store_registers 344,7992
  4283. < remote_store_word 394,8896
  4284. < remote_timer 121,3231
  4285. < remote_wait 283,6497
  4286. < remote_write_bytes 409,9279
  4287. < remote_xfer_inferior_memory(477,10867
  4288. < tohex 248,5903
  4289. ---
  4290. > remote.c,741
  4291. > _initialize_remote 853,19556
  4292. > dcache_alloc 756,17046
  4293. > dcache_fetch 773,17414
  4294. > dcache_flush 704,16032
  4295. > dcache_hit 721,16324
  4296. > dcache_init 814,18299
  4297. > dcache_poke 790,17778
  4298. > dcache_value 742,16709
  4299. > fromhex 232,5608
  4300. > getpkt 615,13532
  4301. > putpkt 569,12640
  4302. > readchar 532,12009
  4303. > remote_close 140,3426
  4304. > remote_detach 217,5324
  4305. > remote_fetch_registers 302,6947
  4306. > remote_fetch_word 372,8474
  4307. > remote_files_info 505,11456
  4308. > remote_open 152,3644
  4309. > remote_prepare_to_store 333,7719
  4310. > remote_read_bytes 443,10053
  4311. > remote_resume 259,6011
  4312. > remote_send 554,12386
  4313. > remote_start(132,3336
  4314. > remote_store_registers 343,7954
  4315. > remote_store_word 393,8858
  4316. > remote_timer 120,3193
  4317. > remote_wait 282,6459
  4318. > remote_write_bytes 408,9241
  4319. > remote_xfer_memory(477,10844
  4320. > tohex 247,5865
  4321. 389,409c392,412
  4322. < _initialize_source 1138,28185
  4323. < ambiguous_line_spec 750,18338
  4324. < directory_command 183,4579
  4325. < find_source_lines 530,12883
  4326. < forget_cached_source_info 154,4093
  4327. < forward_search_command 988,24699
  4328. < get_filename_and_charpos 620,15109
  4329. < identify_source_line 651,15915
  4330. < init_source_path 174,4380
  4331. < line_info 927,23066
  4332. < list_command 762,18569
  4333. < mod_path 207,5064
  4334. < open_source_file 484,11615
  4335. < openp 394,9409
  4336. < print_source_lines 675,16571
  4337. < reverse_search_command 1060,26353
  4338. < select_source_symtab 75,2195
  4339. < show_directories 143,3812
  4340. < source_charpos_line 594,14469
  4341. < source_info 350,8001
  4342. < source_line_charpos 580,14173
  4343. ---
  4344. > _initialize_source 1143,28562
  4345. > ambiguous_line_spec 755,18715
  4346. > directory_command 186,4813
  4347. > find_source_lines 535,13267
  4348. > forget_cached_source_info 157,4327
  4349. > forward_search_command 993,25076
  4350. > get_filename_and_charpos 625,15486
  4351. > identify_source_line 656,16292
  4352. > init_source_path 177,4614
  4353. > line_info 932,23443
  4354. > list_command 767,18946
  4355. > mod_path 210,5298
  4356. > open_source_file 487,11849
  4357. > openp 397,9643
  4358. > print_source_lines 680,16948
  4359. > reverse_search_command 1065,26730
  4360. > select_source_symtab 78,2429
  4361. > show_directories 146,4046
  4362. > source_charpos_line 599,14846
  4363. > source_info 353,8235
  4364. > source_line_charpos 585,14550
  4365. 411,413c414,416
  4366. < stack.c,817
  4367. < _initialize_stack 1091,28477
  4368. < args_info 833,21611
  4369. ---
  4370. > stack.c,818
  4371. > _initialize_stack 1108,28919
  4372. > args_info 831,21516
  4373. 416,420c419,423
  4374. < catch_info 771,20093
  4375. < down_command 1027,26824
  4376. < down_silently_command 1009,26350
  4377. < find_relative_frame 891,23269
  4378. < frame_command 943,24854
  4379. ---
  4380. > catch_info 769,19998
  4381. > down_command 1044,27266
  4382. > down_silently_command 1026,26792
  4383. > find_relative_frame 889,23174
  4384. > frame_command 955,25121
  4385. 422,423c425,426
  4386. < get_selected_block 871,22591
  4387. < locals_info 761,19903
  4388. ---
  4389. > get_selected_block 869,22496
  4390. > locals_info 759,19808
  4391. 425c428
  4392. < print_block_frame_labels 599,15796
  4393. ---
  4394. > print_block_frame_labels 598,15742
  4395. 427c430
  4396. < print_frame_arg_vars 779,20234
  4397. ---
  4398. > print_frame_arg_vars 777,20139
  4399. 429,430c432,433
  4400. < print_frame_label_vars 684,17817
  4401. < print_frame_local_vars 646,16986
  4402. ---
  4403. > print_frame_label_vars 682,17729
  4404. > print_frame_local_vars 644,16898
  4405. 434,436c437,439
  4406. < record_selected_frame 859,22247
  4407. < return_command 1036,27028
  4408. < select_frame 844,21868
  4409. ---
  4410. > record_selected_frame 857,22152
  4411. > return_command 1053,27470
  4412. > select_frame 842,21773
  4413. 438,439c441,442
  4414. < up_command 996,26019
  4415. < up_silently_command 976,25519
  4416. ---
  4417. > up_command 1013,26461
  4418. > up_silently_command 993,25961
  4419. 509,537c512,539
  4420. < symfile.c,792
  4421. < _initialize_symfile 932,25083
  4422. < add_symbol_file_command 608,15482
  4423. < add_syms_addr_command 623,15808
  4424. < add_symtab_fns 560,14364
  4425. < cashier_psymtab 801,21143
  4426. < clear_complaints 742,18955
  4427. < clear_symtab_users_once 779,20495
  4428. < compare_misc_functions 267,6945
  4429. < compare_symbols 114,3353
  4430. < complain 716,18361
  4431. < condense_misc_bunches 298,7636
  4432. < discard_misc_bunches 281,7265
  4433. < fill_in_vptr_fieldno 683,17484
  4434. < free_named_symtabs 853,22812
  4435. < init_misc_bunches 236,6178
  4436. < load_command 598,15306
  4437. < obconcat 200,5367
  4438. < obsavestring 178,4867
  4439. < prim_record_misc_function 244,6283
  4440. < psymtab_to_symtab 355,9054
  4441. < reread_symbols 657,16651
  4442. < sort_all_symtab_syms 163,4547
  4443. < sort_block_syms 135,3974
  4444. < sort_symtab_syms 146,4223
  4445. < symbol_file_add 384,9860
  4446. < symbol_file_command 479,12367
  4447. < symfile_init 573,14688
  4448. < symfile_open 521,13522
  4449. ---
  4450. > symfile.c,760
  4451. > _initialize_symfile 935,25356
  4452. > add_symbol_file_command 617,15775
  4453. > add_symtab_fns 567,14564
  4454. > cashier_psymtab 800,21311
  4455. > clear_complaints 741,19123
  4456. > clear_symtab_users_once 778,20663
  4457. > compare_misc_functions 276,7184
  4458. > compare_symbols 123,3592
  4459. > complain 715,18529
  4460. > condense_misc_bunches 307,7875
  4461. > discard_misc_bunches 290,7504
  4462. > fill_in_vptr_fieldno 681,17561
  4463. > free_named_symtabs 852,22980
  4464. > init_misc_bunches 245,6417
  4465. > load_command 605,15506
  4466. > obconcat 209,5606
  4467. > obsavestring 187,5106
  4468. > prim_record_misc_function 253,6522
  4469. > psymtab_to_symtab 364,9293
  4470. > reread_symbols 655,16728
  4471. > sort_all_symtab_syms 172,4786
  4472. > sort_block_syms 144,4213
  4473. > sort_symtab_syms 155,4462
  4474. > symbol_file_add 391,10064
  4475. > symbol_file_command 486,12567
  4476. > symfile_init 580,14888
  4477. > symfile_open 528,13722
  4478. 541,546c543,548
  4479. < _initialize_utils 1224,28296
  4480. < bcmp 1143,27168
  4481. < bcopy 1137,27095
  4482. < bzero 1148,27232
  4483. < concat 464,10388
  4484. < discard_cleanups 147,3947
  4485. ---
  4486. > _initialize_utils 1231,28503
  4487. > bcmp 1148,27325
  4488. > bcopy 1142,27252
  4489. > bzero 1153,27389
  4490. > concat 464,10425
  4491. > discard_cleanups 147,3984
  4492. 548,562c550,564
  4493. < error 197,4998
  4494. < fatal 219,5441
  4495. < fatal_dump_core 238,5798
  4496. < fprint_symbol 1118,26737
  4497. < void fprintf_filtered 987,24134
  4498. < fprintf_filtered 1030,25176
  4499. < fputs_demangled 891,21393
  4500. < fputs_filtered 784,18550
  4501. < free_current_contents 185,4704
  4502. < getwd 1155,27295
  4503. < index 1162,27358
  4504. < init_malloc 263,6372
  4505. < init_malloc 273,6497
  4506. < insque 1190,27717
  4507. < lines_to_list 693,16157
  4508. ---
  4509. > error 197,5035
  4510. > fatal 219,5478
  4511. > fatal_dump_core 238,5835
  4512. > fprint_symbol 1123,26894
  4513. > void fprintf_filtered 992,24291
  4514. > fprintf_filtered 1035,25333
  4515. > fputs_demangled 896,21550
  4516. > fputs_filtered 789,18707
  4517. > free_current_contents 185,4741
  4518. > getwd 1160,27452
  4519. > index 1167,27515
  4520. > init_malloc 263,6409
  4521. > init_malloc 273,6534
  4522. > insque 1195,27874
  4523. > lines_to_list 693,16194
  4524. 564,588c566,590
  4525. < malloc_botch 267,6430
  4526. < myread 417,9429
  4527. < n_spaces 1083,26155
  4528. < parse_escape 548,12570
  4529. < perror_with_name 325,7460
  4530. < print_spaces 476,10630
  4531. < print_spaces_filtered 1106,26512
  4532. < print_sys_errmsg 356,8208
  4533. < printchar 618,13730
  4534. < printf_filtered 1049,25529
  4535. < printf_filtered 1063,25738
  4536. < prompt_for_continue 719,16787
  4537. < puts_filtered 1074,25965
  4538. < query 491,11008
  4539. < quit 381,8725
  4540. < reinitialize_more_filter 730,17022
  4541. < remque 1201,27881
  4542. < request_quit 400,9148
  4543. < restore_cleanups 170,4426
  4544. < rindex 1170,27440
  4545. < save_cleanups 160,4248
  4546. < savestring 443,9931
  4547. < set_width_command 703,16403
  4548. < strsave 457,10299
  4549. < strstr 1211,28094
  4550. ---
  4551. > malloc_botch 267,6467
  4552. > myread 417,9466
  4553. > n_spaces 1088,26312
  4554. > parse_escape 548,12607
  4555. > perror_with_name 325,7497
  4556. > print_spaces 476,10667
  4557. > print_spaces_filtered 1111,26669
  4558. > print_sys_errmsg 356,8245
  4559. > printchar 618,13767
  4560. > printf_filtered 1054,25686
  4561. > printf_filtered 1068,25895
  4562. > prompt_for_continue 719,16824
  4563. > puts_filtered 1079,26122
  4564. > query 491,11045
  4565. > quit 381,8762
  4566. > reinitialize_more_filter 735,17179
  4567. > remque 1206,28038
  4568. > request_quit 400,9185
  4569. > restore_cleanups 170,4463
  4570. > rindex 1175,27597
  4571. > save_cleanups 160,4285
  4572. > savestring 443,9968
  4573. > set_width_command 703,16440
  4574. > strsave 457,10336
  4575. > strstr 1217,28277
  4576. 590c592
  4577. < vfprintf_filtered 984,24068
  4578. ---
  4579. > vfprintf_filtered 989,24225
  4580. 592,594c594,596
  4581. < wrap_here(750,17704
  4582. < xmalloc 287,6686
  4583. < xrealloc 310,7110
  4584. ---
  4585. > wrap_here(755,17861
  4586. > xmalloc 287,6723
  4587. > xrealloc 310,7147
  4588. 645c647
  4589. < _initialize_valprint 1882,50635
  4590. ---
  4591. > _initialize_valprint 1882,50638
  4592. 652,663c654,665
  4593. < set_input_radix 1793,48822
  4594. < set_output_radix 1808,49120
  4595. < set_print 1863,50285
  4596. < set_radix 1841,49834
  4597. < show_print 1874,50513
  4598. < type_print 1228,33631
  4599. < type_print_1 1240,33862
  4600. < type_print_base 1543,42019
  4601. < type_print_derivation_info 1308,35796
  4602. < type_print_method_args 1270,34804
  4603. < type_print_varspec_prefix 1355,37032
  4604. < type_print_varspec_suffix 1438,39157
  4605. ---
  4606. > set_input_radix 1793,48825
  4607. > set_output_radix 1808,49123
  4608. > set_print 1863,50288
  4609. > set_radix 1841,49837
  4610. > show_print 1874,50516
  4611. > type_print 1228,33634
  4612. > type_print_1 1240,33865
  4613. > type_print_base 1543,42022
  4614. > type_print_derivation_info 1308,35799
  4615. > type_print_method_args 1270,34807
  4616. > type_print_varspec_prefix 1355,37035
  4617. > type_print_varspec_suffix 1438,39160
  4618. 669,670c671,672
  4619. < #define USE_STRUCT_CONVENTION(1511,42536
  4620. < _initialize_values 1583,44620
  4621. ---
  4622. > #define USE_STRUCT_CONVENTION(1510,42510
  4623. > _initialize_values 1582,44594
  4624. 674,675c676,677
  4625. < baseclass_addr 1142,31691
  4626. < check_stub_method 1235,34237
  4627. ---
  4628. > baseclass_addr 1141,31656
  4629. > check_stub_method 1234,34206
  4630. 681c683
  4631. < modify_field 1366,37974
  4632. ---
  4633. > modify_field 1365,37943
  4634. 686c688
  4635. < set_return_value 1553,43886
  4636. ---
  4637. > set_return_value 1552,43860
  4638. 690c692
  4639. < unpack_field_as_long 1336,37070
  4640. ---
  4641. > unpack_field_as_long 1335,37039
  4642. 693c695
  4643. < using_struct_return 1528,43249
  4644. ---
  4645. > using_struct_return 1527,43223
  4646. 697c699
  4647. < value_being_returned 1479,41564
  4648. ---
  4649. > value_being_returned 1478,41538
  4650. 702,704c704,706
  4651. < value_from_double 1437,40090
  4652. < value_from_long 1401,39040
  4653. < value_from_vtable_info 1055,29181
  4654. ---
  4655. > value_from_double 1436,40064
  4656. > value_from_long 1400,39014
  4657. > value_from_vtable_info 1054,29146
  4658. 709c711
  4659. < value_static_field 1080,29958
  4660. ---
  4661. > value_static_field 1079,29923
  4662. 719c721
  4663. < _initialize_expread 1982,46790
  4664. ---
  4665. > _initialize_expread 1983,46805
  4666. 722c724
  4667. < copy_name 1641,38969
  4668. ---
  4669. > copy_name 1642,38984
  4670. 740c742
  4671. < length_of_subexp 1675,39873
  4672. ---
  4673. > length_of_subexp 1676,39888
  4674. 742,743c744,745
  4675. < parse_c_1 1882,44577
  4676. < parse_c_expression 1928,45734
  4677. ---
  4678. > parse_c_1 1883,44592
  4679. > parse_c_expression 1929,45749
  4680. 745,750c747,752
  4681. < pop_type 1965,46534
  4682. < pop_type_int 1973,46652
  4683. < prefixify_expression 1655,39305
  4684. < prefixify_subexp 1761,41505
  4685. < push_type 1939,45943
  4686. < push_type_int 1952,46237
  4687. ---
  4688. > pop_type 1966,46549
  4689. > pop_type_int 1974,46667
  4690. > prefixify_expression 1656,39320
  4691. > prefixify_subexp 1762,41520
  4692. > push_type 1940,45958
  4693. > push_type_int 1953,46252
  4694. 763c765
  4695. < yyerror 1631,38795
  4696. ---
  4697. > yyerror 1632,38810
  4698. 777,780c779,782
  4699. < do_arg 744,15466
  4700. < do_args 787,16294
  4701. < do_type 419,9975
  4702. < get_count 387,9459
  4703. ---
  4704. > do_arg 741,15424
  4705. > do_args 784,16252
  4706. > do_type 416,9933
  4707. > get_count 384,9417
  4708. 783,795c785,797
  4709. < munge_function_name 852,17564
  4710. < remember_type 758,15716
  4711. < string_append 970,19856
  4712. < string_appendn 997,20238
  4713. < string_appends 984,20058
  4714. < string_clear 956,19719
  4715. < string_delete 938,19505
  4716. < string_empty 963,19783
  4717. < string_init 949,19640
  4718. < string_need 915,19128
  4719. < string_prepend 1010,20412
  4720. < string_prependn 1031,20715
  4721. < string_prepends 1021,20574
  4722. ---
  4723. > munge_function_name 849,17522
  4724. > remember_type 755,15674
  4725. > string_append 967,19814
  4726. > string_appendn 994,20196
  4727. > string_appends 981,20016
  4728. > string_clear 953,19677
  4729. > string_delete 935,19463
  4730. > string_empty 960,19741
  4731. > string_init 946,19598
  4732. > string_need 912,19086
  4733. > string_prepend 1007,20370
  4734. > string_prependn 1028,20673
  4735. > string_prepends 1018,20532
  4736. 804,825c806,827
  4737. < _initialize_targets 525,13755
  4738. < add_target 93,2823
  4739. < cleanup_target 259,6653
  4740. < default_terminal_info 171,4621
  4741. < ignore 132,4046
  4742. < kill_or_be_killed 213,5643
  4743. < maybe_kill_then_attach 237,6161
  4744. < maybe_kill_then_create_inferior 246,6320
  4745. < nomemory 138,4087
  4746. < noprocess 155,4369
  4747. < nosymbol 162,4471
  4748. < pop_target 385,10357
  4749. < push_target 325,9053
  4750. < target_command 83,2626
  4751. < target_info 472,12570
  4752. < target_preopen 505,13250
  4753. < target_read_memory 404,11052
  4754. < target_write_memory 413,11215
  4755. < target_xfer_memory 422,11380
  4756. < tcomplain 148,4252
  4757. < unpush_target 362,9957
  4758. < upstack_create_inferior 185,5010
  4759. ---
  4760. > _initialize_targets 520,13581
  4761. > add_target 92,2778
  4762. > cleanup_target 254,6493
  4763. > default_terminal_info 170,4576
  4764. > ignore 131,4001
  4765. > kill_or_be_killed 212,5598
  4766. > maybe_kill_then_attach 232,6001
  4767. > maybe_kill_then_create_inferior 241,6160
  4768. > nomemory 137,4042
  4769. > noprocess 154,4324
  4770. > nosymbol 161,4426
  4771. > pop_target 379,10159
  4772. > push_target 319,8855
  4773. > target_command 82,2581
  4774. > target_info 467,12395
  4775. > target_preopen 500,13076
  4776. > target_read_memory 398,10854
  4777. > target_write_memory 407,11017
  4778. > target_xfer_memory 416,11182
  4779. > tcomplain 147,4207
  4780. > unpush_target 356,9759
  4781. > upstack_create_inferior 184,4965
  4782. 828,835c830,837
  4783. < _initialize_inftarg 192,5445
  4784. < child_detach 82,2704
  4785. < child_files_info 153,4319
  4786. < child_open 161,4482
  4787. < child_prepare_to_store 116,3572
  4788. < child_wait 52,1882
  4789. < host_convert_from_virtual 142,4101
  4790. < host_convert_to_virtual 129,3835
  4791. ---
  4792. > _initialize_inftarg 193,5429
  4793. > child_detach 82,2679
  4794. > child_files_info 153,4294
  4795. > child_open 161,4457
  4796. > child_prepare_to_store 116,3547
  4797. > child_wait 52,1857
  4798. > host_convert_from_virtual 142,4076
  4799. > host_convert_to_virtual 129,3810
  4800. 838,842c840,844
  4801. < #define    ADD_PSYMBOL_TO_LIST(1628,48859
  4802. < ADD_PSYMBOL_TO_PLIST(1589,47645
  4803. < #define IGNORE_SYMBOL(170,5889
  4804. < #define    MAX_OF_TYPE(5061,147094
  4805. < #define MIN_OF_TYPE(5062,147149
  4806. ---
  4807. > #define    ADD_PSYMBOL_TO_LIST(1632,48954
  4808. > ADD_PSYMBOL_TO_PLIST(1593,47740
  4809. > #define IGNORE_SYMBOL(170,5899
  4810. > #define    MAX_OF_TYPE(5073,147353
  4811. > #define MIN_OF_TYPE(5074,147408
  4812. 844,845c846,847
  4813. < #define STAB_REG_TO_REGNUM(181,6212
  4814. < #define SWAP_SYMBOL(1467,44121
  4815. ---
  4816. > #define STAB_REG_TO_REGNUM(181,6222
  4817. > #define SWAP_SYMBOL(1471,44216
  4818. 847,904c849,906
  4819. < _initialize_dbxread 5391,156816
  4820. < add_bincl_to_list 1535,46303
  4821. < add_new_header_file 567,18171
  4822. < add_old_header_file 538,17153
  4823. < add_symbol_to_list 731,22482
  4824. < add_this_object_header_file 518,16526
  4825. < add_undefined_type 3676,110385
  4826. < cleanup_undefined_types 3692,110828
  4827. < compare_psymbols 2402,71653
  4828. < copy_pending 5344,155498
  4829. < dbx_alloc_type 678,21369
  4830. < dbx_create_type 660,20811
  4831. < dbx_lookup_type 606,19277
  4832. < dbx_new_init 1335,39705
  4833. < dbx_psymtab_to_symtab 2584,76984
  4834. < dbx_symfile_init 1370,40890
  4835. < dbx_symfile_read 1268,37621
  4836. < define_symbol 3276,97683
  4837. < end_psymtab 2426,72367
  4838. < end_symtab 1101,32814
  4839. < error_type 3761,112788
  4840. < explicit_lookup_type 710,21950
  4841. < fill_symbuf 1455,43816
  4842. < find_corresponding_bincl_psymtab 1559,47002
  4843. < finish_block 805,24197
  4844. < fix_common_block 5366,156052
  4845. < free_and_init_header_files 485,15580
  4846. < free_bincl_list 1576,47388
  4847. < hashname 2945,87809
  4848. < init_bincl_list 1524,46050
  4849. < init_psymbol_list 1500,45178
  4850. < make_blockvector 910,27195
  4851. < new_object_header_files 507,16254
  4852. < next_symbol_text 1487,44858
  4853. < pop_subfile 1217,36278
  4854. < process_one_symbol 2969,88164
  4855. < process_symbol_pair 2761,81977
  4856. < psymtab_to_symtab_1 2516,75219
  4857. < push_subfile 1203,35928
  4858. < read_args 5302,154443
  4859. < read_array_type 4786,140477
  4860. < read_dbx_symtab 1642,49532
  4861. < read_enum_type 4865,142490
  4862. < read_huge_number 4961,145431
  4863. < read_number 5262,153669
  4864. < read_ofile_symtab 2795,83026
  4865. < read_range_type 5065,147223
  4866. < read_struct_type 4146,122783
  4867. < read_type 3790,113491
  4868. < read_type_number 3251,97032
  4869. < really_free_pendings 761,23254
  4870. < record_line 967,28994
  4871. < record_misc_function 1234,36542
  4872. < scan_file_globals 2706,80568
  4873. < start_psymtab 2358,70534
  4874. < start_subfile 1037,30863
  4875. < start_symtab 998,29781
  4876. < virtual_context 4104,121669
  4877. ---
  4878. > _initialize_dbxread 5403,157075
  4879. > add_bincl_to_list 1539,46398
  4880. > add_new_header_file 567,18181
  4881. > add_old_header_file 538,17163
  4882. > add_symbol_to_list 731,22492
  4883. > add_this_object_header_file 518,16536
  4884. > add_undefined_type 3685,110571
  4885. > cleanup_undefined_types 3701,111014
  4886. > compare_psymbols 2406,71748
  4887. > copy_pending 5356,155757
  4888. > dbx_alloc_type 678,21379
  4889. > dbx_create_type 660,20821
  4890. > dbx_lookup_type 606,19287
  4891. > dbx_new_init 1339,39800
  4892. > dbx_psymtab_to_symtab 2591,77140
  4893. > dbx_symfile_init 1374,40985
  4894. > dbx_symfile_read 1272,37716
  4895. > define_symbol 3285,97869
  4896. > end_psymtab 2433,72523
  4897. > end_symtab 1101,32824
  4898. > error_type 3770,112974
  4899. > explicit_lookup_type 710,21960
  4900. > fill_symbuf 1459,43911
  4901. > find_corresponding_bincl_psymtab 1563,47097
  4902. > finish_block 805,24207
  4903. > fix_common_block 5378,156311
  4904. > free_and_init_header_files 485,15590
  4905. > free_bincl_list 1580,47483
  4906. > hashname 2953,87980
  4907. > init_bincl_list 1528,46145
  4908. > init_psymbol_list 1504,45273
  4909. > make_blockvector 910,27205
  4910. > new_object_header_files 507,16264
  4911. > next_symbol_text 1491,44953
  4912. > pop_subfile 1217,36288
  4913. > process_one_symbol 2977,88335
  4914. > process_symbol_pair 2769,82148
  4915. > psymtab_to_symtab_1 2523,75375
  4916. > push_subfile 1203,35938
  4917. > read_args 5314,154702
  4918. > read_array_type 4798,140732
  4919. > read_dbx_symtab 1646,49627
  4920. > read_enum_type 4877,142745
  4921. > read_huge_number 4973,145690
  4922. > read_number 5274,153928
  4923. > read_ofile_symtab 2803,83197
  4924. > read_range_type 5077,147482
  4925. > read_struct_type 4155,122969
  4926. > read_type 3799,113677
  4927. > read_type_number 3259,97203
  4928. > really_free_pendings 761,23264
  4929. > record_line 967,29004
  4930. > record_misc_function 1234,36552
  4931. > scan_file_globals 2713,80724
  4932. > start_psymtab 2362,70629
  4933. > start_subfile 1037,30873
  4934. > start_symtab 998,29791
  4935. > virtual_context 4113,121855
  4936. 907c909
  4937. < #define L_LNNO32(1335,36793
  4938. ---
  4939. > #define L_LNNO32(1340,36841
  4940. 909c911
  4941. < _initialize_coffread 2034,55089
  4942. ---
  4943. > _initialize_coffread 2040,55154
  4944. 913c915
  4945. < coff_new_init 767,22130
  4946. ---
  4947. > coff_new_init 768,22145
  4948. 915c917
  4949. < coff_symfile_read 693,19947
  4950. ---
  4951. > coff_symfile_read 694,19962
  4952. 917,919c919,921
  4953. < decode_base_type 1722,47091
  4954. < decode_function_type 1707,46746
  4955. < decode_type 1639,45108
  4956. ---
  4957. > decode_base_type 1727,47141
  4958. > decode_function_type 1712,46796
  4959. > decode_type 1644,45156
  4960. 921c923
  4961. < enter_linenos 1339,36849
  4962. ---
  4963. > enter_linenos 1344,36897
  4964. 924,929c926,931
  4965. < free_stringtab 1240,34700
  4966. < getfilename 1268,35200
  4967. < getsymname 1248,34796
  4968. < hashname 1373,37777
  4969. < init_lineno 1312,36379
  4970. < init_stringtab 1199,33735
  4971. ---
  4972. > free_stringtab 1241,34715
  4973. > getfilename 1269,35215
  4974. > getsymname 1249,34811
  4975. > hashname 1378,37825
  4976. > init_lineno 1313,36394
  4977. > init_stringtab 1200,33750
  4978. 931,938c933,940
  4979. < patch_opaque_types 1421,38937
  4980. < patch_type 1394,38057
  4981. < process_coff_symbol 1485,40682
  4982. < read_coff_symtab 791,22827
  4983. < read_enum_type 1933,52205
  4984. < read_file_hdr 1098,31393
  4985. < read_one_sym 1161,32604
  4986. < read_struct_type 1837,49710
  4987. ---
  4988. > patch_opaque_types 1426,38985
  4989. > patch_type 1399,38105
  4990. > process_coff_symbol 1490,40730
  4991. > read_coff_symtab 792,22842
  4992. > read_enum_type 1939,52270
  4993. > read_file_hdr 1099,31408
  4994. > read_one_sym 1162,32619
  4995. > read_struct_type 1842,49760
  4996. 946c948
  4997. < ieee_test 131,4258
  4998. ---
  4999. > ieee_test 131,4252
  5000. 1143,1154c1145,1155
  5001. < exec.c,286
  5002. < _initialize_exec(386,10682
  5003. < add_to_section_table 174,4693
  5004. < build_section_table 193,5254
  5005. < exec_close 66,1700
  5006. < exec_file_command 76,1820
  5007. < exec_files_info 313,8637
  5008. < exec_xfer_memory 286,7853
  5009. < file_command 158,4269
  5010. <     else if 303,8370
  5011. < set_section_command 326,8946
  5012. < xfer_memory 232,6474
  5013. ---
  5014. > exec.c,259
  5015. > _initialize_exec(373,10360
  5016. > add_to_section_table 175,4664
  5017. > build_section_table 195,5252
  5018. > exec_close 61,1534
  5019. > exec_file_command 76,1779
  5020. > exec_files_info 300,8296
  5021. > file_command 159,4240
  5022. >     else if 290,8029
  5023. > set_section_command 313,8613
  5024. > xfer_memory 234,6473
  5025. 1247,1265c1248,1266
  5026. < #define BITMASK(116,3808
  5027. < #define EXTRACT_FIELD(117,3870
  5028. < #define MEMA_OFFSET(123,4163
  5029. < #define MEM_SRCDST(122,4109
  5030. < #define NEXT_PROLOGUE_INSN(131,4523
  5031. < #define REG_SRC1(119,3948
  5032. < #define REG_SRC2(120,4001
  5033. < #define REG_SRCDST(121,4055
  5034. < _initialize_i960_tdep 643,21423
  5035. < check_host(46,1537
  5036. < examine_prologue 135,4657
  5037. < frame_args_address 394,13658
  5038. < frame_find_saved_regs 324,11123
  5039. < frame_struct_result_address 425,14534
  5040. < leafproc_return 464,15941
  5041. < pop_frame 535,18033
  5042. < print_fault(590,19872
  5043. < saved_pc_after_call 519,17713
  5044. < skip_prologue 301,10401
  5045. ---
  5046. > #define BITMASK(116,3802
  5047. > #define EXTRACT_FIELD(117,3864
  5048. > #define MEMA_OFFSET(123,4157
  5049. > #define MEM_SRCDST(122,4103
  5050. > #define NEXT_PROLOGUE_INSN(131,4517
  5051. > #define REG_SRC1(119,3942
  5052. > #define REG_SRC2(120,3995
  5053. > #define REG_SRCDST(121,4049
  5054. > _initialize_i960_tdep 643,21417
  5055. > check_host(46,1531
  5056. > examine_prologue 135,4651
  5057. > frame_args_address 394,13652
  5058. > frame_find_saved_regs 324,11117
  5059. > frame_struct_result_address 425,14528
  5060. > leafproc_return 464,15935
  5061. > pop_frame 535,18027
  5062. > print_fault(590,19866
  5063. > saved_pc_after_call 519,17707
  5064. > skip_prologue 301,10395
  5065. 1268,1270c1269,1271
  5066. < #define CANNOT_STORE_REGISTER(249,6018
  5067. < _initialize_kernel_u_addr 166,3922
  5068. < void _initialize_kernel_u_addr 194,4676
  5069. ---
  5070. > #define CANNOT_STORE_REGISTER(250,6065
  5071. > _initialize_kernel_u_addr 167,3969
  5072. > void _initialize_kernel_u_addr 195,4723
  5073. 1274c1275
  5074. < child_xfer_memory 327,8189
  5075. ---
  5076. > child_xfer_memory 328,8236
  5077. 1276,1277c1277,1278
  5078. < fetch_inferior_registers 237,5752
  5079. < fetch_register 215,5202
  5080. ---
  5081. > fetch_inferior_registers 238,5799
  5082. > fetch_register 216,5249
  5083. 1280,1281c1281,1282
  5084. < #define offsetof(203,4854
  5085. < store_inferior_registers 257,6241
  5086. ---
  5087. > #define offsetof(204,4901
  5088. > store_inferior_registers 258,6288
  5089. 1338c1339
  5090. < mips-tdep.c,937
  5091. ---
  5092. > mips-tdep.c,930
  5093. 1357,1358c1358,1359
  5094. < isa_NAN(624,20643
  5095. < mips_do_registers_info(583,19706
  5096. ---
  5097. > isa_NAN(631,20824
  5098. > mips_do_registers_info 585,19756
  5099. 1360c1361
  5100. < mips_frame_num_args(604,20197
  5101. ---
  5102. > mips_frame_num_args(611,20378
  5103. 1363c1364
  5104. < static mips_print_register(539,18424
  5105. ---
  5106. > mips_print_register(540,18431
  5107. 1366c1367
  5108. < CORE_ADDR mips_skip_prologue(647,21266
  5109. ---
  5110. > CORE_ADDR mips_skip_prologue(654,21447
  5111. 1464,1466c1465,1467
  5112. < CORE_ADDR frame_args_addr 107,3452
  5113. < CORE_ADDR frame_locals_address 82,2608
  5114. < pyr_do_registers_info 51,1798
  5115. ---
  5116. > CORE_ADDR frame_args_addr 109,3509
  5117. > CORE_ADDR frame_locals_address 84,2665
  5118. > pyr_do_registers_info 52,1831
  5119. 1475,1585c1476,1586
  5120. < _initialize_remote_eb 936,23188
  5121. < int damn_b 289,6803
  5122. < eb_close 405,9526
  5123. < eb_detach 433,10254
  5124. < eb_fetch_register 697,16844
  5125. < eb_fetch_registers 603,14276
  5126. < eb_files_info 805,19776
  5127. < eb_open 307,7212
  5128. < eb_prepare_to_store 785,19380
  5129. < eb_read_inferior_memory(839,20594
  5130. < eb_resume 444,10485
  5131. < eb_start 240,5918
  5132. < eb_store_register 756,18450
  5133. < eb_store_registers 717,17242
  5134. < eb_timer 214,5225
  5135. < eb_wait 485,11395
  5136. < eb_write_inferior_memory 814,20023
  5137. < eb_xfer_inferior_memory 792,19499
  5138. < expect 98,2749
  5139. < expect_prompt 135,3639
  5140. < get_hex_byte 174,4550
  5141. < get_hex_digit 148,4023
  5142. < get_hex_regs 187,4801
  5143. < get_reg_name 577,13414
  5144. < readchar 67,2130
  5145. < remote-nindy.c,750
  5146. < _initialize_nindy 961,25625
  5147. < cleanup(183,5926
  5148. < dcache_alloc 713,19261
  5149. < dcache_fetch 735,19735
  5150. < dcache_flush 657,17984
  5151. < dcache_hit 674,18281
  5152. < dcache_init 789,21076
  5153. < dcache_poke 756,20269
  5154. < dcache_value 696,18696
  5155. < nindy_before_main_loop 895,23713
  5156. < nindy_close 198,6217
  5157. < nindy_create_inferior 803,21355
  5158. < nindy_detach 251,7408
  5159. < nindy_fetch_registers(478,12834
  5160. < nindy_fetch_word 550,15164
  5161. < nindy_files_info 261,7554
  5162. < nindy_kill 867,22862
  5163. < nindy_load(279,8236
  5164. < nindy_mourn_inferior 881,23191
  5165. < nindy_open 215,6594
  5166. < nindy_prepare_to_store(508,13767
  5167. < nindy_resume 340,9462
  5168. < nindy_store_registers(514,13837
  5169. < nindy_store_word 560,15337
  5170. < nindy_wait(363,10000
  5171. < nindy_xfer_inferior_memory(576,15829
  5172. < non_dle(323,9192
  5173. < reset_command(853,22583
  5174. < restore_tty(165,5648
  5175. < remote-vx.c,1115
  5176. < _initialize_vx 1785,48527
  5177. < add_symbol_stub 1350,37272
  5178. < find_white_space 616,17508
  5179. < net_break 139,4306
  5180. < net_check_for_fp 1158,32018
  5181. < net_clnt_call 1695,45950
  5182. < net_connect 1174,32408
  5183. < net_get_boot_file 1097,30373
  5184. < net_get_symbols 1113,30809
  5185. < net_load 96,2931
  5186. < net_ptrace_clnt_call 1074,29737
  5187. < net_quit 661,18344
  5188. < net_step 1041,29059
  5189. < net_wait 643,17942
  5190. < parse_args 561,16152
  5191. < skip_white_space 603,17219
  5192. < sleep_ms 1213,33589
  5193. < symbol_stub 1341,37143
  5194. < vx_attach 1465,40440
  5195. < vx_call_function 193,5688
  5196. < vx_call_function 396,11746
  5197. < vx_close 1715,46335
  5198. < vx_convert_from_virtual 1666,45360
  5199. < vx_convert_to_virtual 1631,44635
  5200. < vx_create_inferior 495,14423
  5201. < vx_detach 1538,42309
  5202. < vx_files_info 950,26899
  5203. < vx_insert_breakpoint 168,5014
  5204. < vx_kill 1576,43226
  5205. < vx_load_command 1009,28228
  5206. < vx_lookup_symbol 1132,31374
  5207. < vx_mourn_inferior 999,28035
  5208. < vx_open 1367,37702
  5209. < vx_prepare_to_store 796,22312
  5210. < vx_proc_close 1611,44098
  5211. < vx_proc_open 1730,46626
  5212. < vx_read_register 683,18769
  5213. < vx_remove_breakpoint 177,5164
  5214. < vx_resume 969,27272
  5215. < vx_run_files_info 958,27060
  5216. < vx_wait 1241,34472
  5217. < vx_write_register 807,22586
  5218. < vx_xfer_memory 902,25591
  5219. < solib.c,225
  5220. < _initialize_solib(339,9501
  5221. < clear_solib(322,9195
  5222. < struct so_list *find_solib(124,3793
  5223. < void solib_add(244,7228
  5224. < solib_address(305,8842
  5225. < static void solib_info(282,8235
  5226. < solib_map_sections(62,1722
  5227. < solib_xfer_memory 224,6781
  5228. ---
  5229. > _initialize_remote_eb 937,23214
  5230. > int damn_b 288,6765
  5231. > eb_close 404,9488
  5232. > eb_detach 432,10216
  5233. > eb_fetch_register 696,16806
  5234. > eb_fetch_registers 602,14238
  5235. > eb_files_info 805,19793
  5236. > eb_open 306,7174
  5237. > eb_prepare_to_store 784,19342
  5238. > eb_read_inferior_memory(839,20611
  5239. > eb_resume 443,10447
  5240. > eb_start 239,5880
  5241. > eb_store_register 755,18412
  5242. > eb_store_registers 716,17204
  5243. > eb_timer 213,5187
  5244. > eb_wait 484,11357
  5245. > eb_write_inferior_memory 814,20040
  5246. > eb_xfer_inferior_memory 791,19461
  5247. > expect 97,2711
  5248. > expect_prompt 134,3601
  5249. > get_hex_byte 173,4512
  5250. > get_hex_digit 147,3985
  5251. > get_hex_regs 186,4763
  5252. > get_reg_name 576,13376
  5253. > readchar 66,2092
  5254. > remote-nindy.c,749
  5255. > _initialize_nindy 962,25652
  5256. > cleanup(182,5886
  5257. > dcache_alloc 713,19279
  5258. > dcache_fetch 735,19753
  5259. > dcache_flush 657,18002
  5260. > dcache_hit 674,18299
  5261. > dcache_init 789,21094
  5262. > dcache_poke 756,20287
  5263. > dcache_value 696,18714
  5264. > nindy_before_main_loop 895,23731
  5265. > nindy_close 197,6177
  5266. > nindy_create_inferior 803,21373
  5267. > nindy_detach 250,7368
  5268. > nindy_fetch_registers(477,12794
  5269. > nindy_fetch_word 549,15126
  5270. > nindy_files_info 260,7514
  5271. > nindy_kill 867,22880
  5272. > nindy_load(278,8196
  5273. > nindy_mourn_inferior 881,23209
  5274. > nindy_open 214,6554
  5275. > nindy_prepare_to_store(507,13728
  5276. > nindy_resume 339,9422
  5277. > nindy_store_registers(513,13798
  5278. > nindy_store_word 559,15299
  5279. > nindy_wait(362,9960
  5280. > nindy_xfer_inferior_memory(575,15791
  5281. > non_dle(322,9152
  5282. > reset_command(853,22601
  5283. > restore_tty(164,5608
  5284. > remote-vx.c,1116
  5285. > _initialize_vx 1788,48579
  5286. > add_symbol_stub 1351,37306
  5287. > find_white_space 615,17470
  5288. > net_break 138,4268
  5289. > net_check_for_fp 1159,32052
  5290. > net_clnt_call 1696,45984
  5291. > net_connect 1175,32442
  5292. > net_get_boot_file 1098,30407
  5293. > net_get_symbols 1114,30843
  5294. > net_load 95,2893
  5295. > net_ptrace_clnt_call 1075,29771
  5296. > net_quit 660,18306
  5297. > net_step 1042,29093
  5298. > net_wait 642,17904
  5299. > parse_args 560,16114
  5300. > skip_white_space 602,17181
  5301. > sleep_ms 1214,33623
  5302. > symbol_stub 1342,37177
  5303. > vx_attach 1466,40474
  5304. > vx_call_function 192,5650
  5305. > vx_call_function 395,11708
  5306. > vx_close 1716,46369
  5307. > vx_convert_from_virtual 1667,45394
  5308. > vx_convert_to_virtual 1632,44669
  5309. > vx_create_inferior 494,14385
  5310. > vx_detach 1539,42343
  5311. > vx_files_info 951,26933
  5312. > vx_insert_breakpoint 167,4976
  5313. > vx_kill 1577,43260
  5314. > vx_load_command 1010,28262
  5315. > vx_lookup_symbol 1133,31408
  5316. > vx_mourn_inferior 1000,28069
  5317. > vx_open 1368,37736
  5318. > vx_prepare_to_store 795,22274
  5319. > vx_proc_close 1612,44132
  5320. > vx_proc_open 1731,46660
  5321. > vx_read_register 682,18731
  5322. > vx_remove_breakpoint 176,5126
  5323. > vx_resume 970,27306
  5324. > vx_run_files_info 959,27094
  5325. > vx_wait 1242,34506
  5326. > vx_write_register 806,22548
  5327. > vx_xfer_memory 901,25553
  5328. > solib.c,226
  5329. > _initialize_solib(359,10174
  5330. > clear_solib(337,9776
  5331. > struct so_list *find_solib(124,3775
  5332. > sharedlibrary_command 353,10071
  5333. > solib_add 221,6607
  5334. > solib_address(320,9423
  5335. > static void solib_info(297,8816
  5336. > solib_map_sections(62,1716
  5337. 1592,1597c1593,1598
  5338. < sparc-tdep.c,346
  5339. < do_restore_insn 271,7927
  5340. < do_save_insn 227,6645
  5341. < frame_saved_pc 151,4131
  5342. < isannulled 380,11032
  5343. < setup_arbitrary_frame 180,5050
  5344. ---
  5345. > sparc-tdep.c,373
  5346. > do_restore_insn 275,8025
  5347. > do_save_insn 231,6743
  5348. > frame_saved_pc 155,4196
  5349. > isannulled 391,11434
  5350. > setup_arbitrary_frame 184,5115
  5351. 1599,1600c1600,1601
  5352. < skip_prologue 292,8524
  5353. < sparc_extract_struct_value_address 137,3857
  5354. ---
  5355. > skip_prologue 302,8867
  5356. > sparc_extract_struct_value_address 141,3922
  5357. 1602,1604c1603,1606
  5358. < sparc_frame_find_saved_regs 443,12937
  5359. < sparc_pop_frame 556,17200
  5360. < sparc_push_dummy_frame 519,15774
  5361. ---
  5362. > sparc_frame_find_saved_regs 454,13339
  5363. > sparc_pc_adjust(622,19484
  5364. > sparc_pop_frame 567,17602
  5365. > sparc_push_dummy_frame 530,16176
  5366. 2021,2047c2023,2048
  5367. < target.h,999
  5368. < #define target_add_syms(315,11963
  5369. < #define    target_attach(166,6434
  5370. < #define target_call_function(325,12370
  5371. < #define    target_close(161,6310
  5372. < #define    target_convert_from_virtual(222,8639
  5373. < #define    target_convert_to_virtual(216,8423
  5374. < #define    target_create_inferior(345,13356
  5375. < #define    target_detach(176,6911
  5376. < #define    target_fetch_registers(194,7567
  5377. < #define    target_files_info(243,9379
  5378. < #define    target_insert_breakpoint(252,9726
  5379. < #define target_kill(301,11394
  5380. < #define target_load(308,11658
  5381. < #define target_lookup_symbol(336,12953
  5382. < #define    target_mourn_inferior(350,13532
  5383. < #define    target_open(150,5783
  5384. < #define    target_prepare_to_store(210,8244
  5385. < #define    target_remove_breakpoint(260,10047
  5386. < #define    target_resume(183,7196
  5387. < #define    target_store_registers(201,7863
  5388. < #define target_terminal_inferior(272,10453
  5389. < #define target_terminal_info(296,11240
  5390. < #define target_terminal_init(266,10258
  5391. < #define target_terminal_ours(290,11079
  5392. < #define target_terminal_ours_for_output(283,10844
  5393. < #define    target_wait(189,7428
  5394. ---
  5395. > target.h,964
  5396. > #define    target_attach(171,6557
  5397. > #define target_call_function(323,12194
  5398. > #define    target_close(166,6433
  5399. > #define    target_convert_from_virtual(227,8762
  5400. > #define    target_convert_to_virtual(221,8546
  5401. > #define    target_create_inferior(343,13180
  5402. > #define    target_detach(181,7034
  5403. > #define    target_fetch_registers(199,7690
  5404. > #define    target_files_info(248,9502
  5405. > #define    target_insert_breakpoint(257,9863
  5406. > #define target_kill(306,11531
  5407. > #define target_load(313,11795
  5408. > #define target_lookup_symbol(334,12777
  5409. > #define    target_mourn_inferior(348,13356
  5410. > #define    target_open(155,5906
  5411. > #define    target_prepare_to_store(215,8367
  5412. > #define    target_remove_breakpoint(265,10184
  5413. > #define    target_resume(188,7319
  5414. > #define    target_store_registers(206,7986
  5415. > #define target_terminal_inferior(277,10590
  5416. > #define target_terminal_info(301,11377
  5417. > #define target_terminal_init(271,10395
  5418. > #define target_terminal_ours(295,11216
  5419. > #define target_terminal_ours_for_output(288,10981
  5420. > #define    target_wait(194,7551
  5421. 2062,2073c2063,2074
  5422. < #define EXTRACT_RETURN_VALUE(272,9337
  5423. < #define EXTRACT_STRUCT_VALUE_ADDRESS(289,9932
  5424. < #define FRAMELESS_FUNCTION_INVOCATION(322,11177
  5425. < #define FRAME_ARGS_ADDRESS(327,11358
  5426. < #define FRAME_CHAIN(307,10633
  5427. < #define FRAME_CHAIN_COMBINE(315,10885
  5428. < #define FRAME_CHAIN_VALID(312,10770
  5429. < #define FRAME_FIND_SAVED_REGS(352,12236
  5430. < #define FRAME_FIND_SAVED_REGS(420,15910
  5431. < #define FRAME_LOCALS_ADDRESS(329,11404
  5432. < #define FRAME_NUM_ARGS(337,11692
  5433. < #define FRAME_SAVED_PC(325,11281
  5434. ---
  5435. > #define EXTRACT_RETURN_VALUE(272,9356
  5436. > #define EXTRACT_STRUCT_VALUE_ADDRESS(289,9951
  5437. > #define FRAMELESS_FUNCTION_INVOCATION(322,11196
  5438. > #define FRAME_ARGS_ADDRESS(327,11377
  5439. > #define FRAME_CHAIN(307,10652
  5440. > #define FRAME_CHAIN_COMBINE(315,10904
  5441. > #define FRAME_CHAIN_VALID(312,10789
  5442. > #define FRAME_FIND_SAVED_REGS(352,12255
  5443. > #define FRAME_FIND_SAVED_REGS(420,15929
  5444. > #define FRAME_LOCALS_ADDRESS(329,11423
  5445. > #define FRAME_NUM_ARGS(337,11711
  5446. > #define FRAME_SAVED_PC(325,11300
  5447. 2076c2077
  5448. < #define REGISTER_BYTE(190,6450
  5449. ---
  5450. > #define REGISTER_BYTE(190,6469
  5451. 2078,2082c2079,2083
  5452. < #define REGISTER_CONVERTIBLE(213,7068
  5453. < #define REGISTER_CONVERT_TO_RAW(168,5610
  5454. < #define REGISTER_CONVERT_TO_RAW(223,7380
  5455. < #define REGISTER_CONVERT_TO_VIRTUAL(157,5285
  5456. < #define REGISTER_CONVERT_TO_VIRTUAL(218,7202
  5457. ---
  5458. > #define REGISTER_CONVERTIBLE(213,7087
  5459. > #define REGISTER_CONVERT_TO_RAW(168,5618
  5460. > #define REGISTER_CONVERT_TO_RAW(223,7399
  5461. > #define REGISTER_CONVERT_TO_VIRTUAL(157,5282
  5462. > #define REGISTER_CONVERT_TO_VIRTUAL(218,7221
  5463. 2084c2085
  5464. < #define REGISTER_RAW_SIZE(195,6615
  5465. ---
  5466. > #define REGISTER_RAW_SIZE(195,6634
  5467. 2086,2088c2087,2089
  5468. < #define REGISTER_VIRTUAL_SIZE(200,6770
  5469. < #define REGISTER_VIRTUAL_TYPE(181,6104
  5470. < #define REGISTER_VIRTUAL_TYPE(228,7545
  5471. ---
  5472. > #define REGISTER_VIRTUAL_SIZE(200,6789
  5473. > #define REGISTER_VIRTUAL_TYPE(181,6123
  5474. > #define REGISTER_VIRTUAL_TYPE(228,7564
  5475. 2091,2092c2092,2093
  5476. < #define STORE_RETURN_VALUE(281,9622
  5477. < #define STORE_STRUCT_RETURN(263,8972
  5478. ---
  5479. > #define STORE_RETURN_VALUE(281,9641
  5480. > #define STORE_STRUCT_RETURN(263,8991
  5481. 2097,2108c2098,2109
  5482. < #define EXTRACT_RETURN_VALUE(231,8433
  5483. < #define EXTRACT_STRUCT_VALUE_ADDRESS(244,9030
  5484. < #define FRAMELESS_FUNCTION_INVOCATION(310,11678
  5485. < #define FRAME_ARGS_ADDRESS(326,12335
  5486. < #define    FRAME_ARGS_ADDRESS_CORRECT(334,12695
  5487. < #define FRAME_CHAIN(293,10992
  5488. < #define FRAME_CHAIN_COMBINE(296,11082
  5489. < #define FRAME_FIND_SAVED_REGS(349,13140
  5490. < #define FRAME_LOCALS_ADDRESS(336,12764
  5491. < #define FRAME_NUM_ARGS(341,12913
  5492. < #define FRAME_SAVED_PC(319,12034
  5493. < #define INIT_EXTRA_FRAME_INFO(288,10800
  5494. ---
  5495. > #define EXTRACT_RETURN_VALUE(231,8451
  5496. > #define EXTRACT_STRUCT_VALUE_ADDRESS(244,9048
  5497. > #define FRAMELESS_FUNCTION_INVOCATION(310,11696
  5498. > #define FRAME_ARGS_ADDRESS(326,12353
  5499. > #define    FRAME_ARGS_ADDRESS_CORRECT(334,12713
  5500. > #define FRAME_CHAIN(293,11010
  5501. > #define FRAME_CHAIN_COMBINE(296,11100
  5502. > #define FRAME_FIND_SAVED_REGS(349,13158
  5503. > #define FRAME_LOCALS_ADDRESS(336,12782
  5504. > #define FRAME_NUM_ARGS(341,12931
  5505. > #define FRAME_SAVED_PC(319,12052
  5506. > #define INIT_EXTRA_FRAME_INFO(288,10818
  5507. 2110c2111
  5508. < #define    PRINT_RANDOM_SIGNAL(357,13413
  5509. ---
  5510. > #define    PRINT_RANDOM_SIGNAL(357,13431
  5511. 2113c2114
  5512. < #define REGISTER_CONVERT_TO_RAW(189,6793
  5513. ---
  5514. > #define REGISTER_CONVERT_TO_RAW(189,6802
  5515. 2118c2119
  5516. < #define REGISTER_VIRTUAL_TYPE(203,7169
  5517. ---
  5518. > #define REGISTER_VIRTUAL_TYPE(203,7187
  5519. 2121,2123c2122,2124
  5520. < #define STORE_RETURN_VALUE(252,9349
  5521. < #define STORE_STRUCT_RETURN(258,9605
  5522. < #define USE_STRUCT_CONVENTION(222,8056
  5523. ---
  5524. > #define STORE_RETURN_VALUE(252,9367
  5525. > #define STORE_STRUCT_RETURN(258,9623
  5526. > #define USE_STRUCT_CONVENTION(222,8074
  5527. 2125,2126c2126,2127
  5528. < tm-sunos.h,102
  5529. < #define DISABLE_UNSETTABLE_BREAK(27,1101
  5530. ---
  5531. > tm-sunos.h,68
  5532. > #define DISABLE_UNSETTABLE_BREAK(26,1010
  5533. 2128d2128
  5534. < #define SOLIB_XFER_MEMORY(23,910
  5535. 2342,2343c2342,2343
  5536. < #define FIX_CALL_DUMMY(136,5059
  5537. < #define IN_SIGTRAMP(43,1579
  5538. ---
  5539. > #define FIX_CALL_DUMMY(136,5065
  5540. > #define IN_SIGTRAMP(43,1585
  5541. 2414,2426c2414,2426
  5542. < #define EXTRACT_RETURN_VALUE(211,7069
  5543. < #define EXTRACT_STRUCT_VALUE_ADDRESS(224,7708
  5544. < #define FIX_CALL_DUMMY(333,11686
  5545. < #define FRAMELESS_FUNCTION_INVOCATION(258,8917
  5546. < #define FRAME_ARGS_ADDRESS(264,9069
  5547. < #define FRAME_CHAIN(243,8367
  5548. < #define FRAME_CHAIN_COMBINE(248,8556
  5549. < #define FRAME_CHAIN_VALID(245,8439
  5550. < #define FRAME_FIND_SAVED_REGS(283,9747
  5551. < #define FRAME_LOCALS_ADDRESS(266,9113
  5552. < #define FRAME_NUM_ARGS(271,9250
  5553. < #define FRAME_SAVED_PC(262,9009
  5554. < #define INIT_EXTRA_FRAME_INFO(363,12968
  5555. ---
  5556. > #define EXTRACT_RETURN_VALUE(211,7077
  5557. > #define EXTRACT_STRUCT_VALUE_ADDRESS(224,7716
  5558. > #define FIX_CALL_DUMMY(333,11694
  5559. > #define FRAMELESS_FUNCTION_INVOCATION(258,8925
  5560. > #define FRAME_ARGS_ADDRESS(264,9077
  5561. > #define FRAME_CHAIN(243,8375
  5562. > #define FRAME_CHAIN_COMBINE(248,8564
  5563. > #define FRAME_CHAIN_VALID(245,8447
  5564. > #define FRAME_FIND_SAVED_REGS(283,9755
  5565. > #define FRAME_LOCALS_ADDRESS(266,9121
  5566. > #define FRAME_NUM_ARGS(271,9258
  5567. > #define FRAME_SAVED_PC(262,9017
  5568. > #define INIT_EXTRA_FRAME_INFO(363,12976
  5569. 2429,2438c2429,2438
  5570. < #define MK_OP(305,10496
  5571. < #define PUSH_ARGUMENTS(294,10120
  5572. < #define REGISTER_BYTE(160,5546
  5573. < #define REGISTER_CONVERTIBLE(183,6153
  5574. < #define REGISTER_CONVERT_TO_RAW(194,6468
  5575. < #define REGISTER_CONVERT_TO_VIRTUAL(188,6287
  5576. < #define REGISTER_RAW_SIZE(165,5705
  5577. < #define REGISTER_U_ADDR(139,4709
  5578. < #define REGISTER_VIRTUAL_SIZE(170,5855
  5579. < #define REGISTER_VIRTUAL_TYPE(200,6636
  5580. ---
  5581. > #define MK_OP(305,10504
  5582. > #define PUSH_ARGUMENTS(294,10128
  5583. > #define REGISTER_BYTE(160,5554
  5584. > #define REGISTER_CONVERTIBLE(183,6161
  5585. > #define REGISTER_CONVERT_TO_RAW(194,6476
  5586. > #define REGISTER_CONVERT_TO_VIRTUAL(188,6295
  5587. > #define REGISTER_RAW_SIZE(165,5713
  5588. > #define REGISTER_U_ADDR(139,4717
  5589. > #define REGISTER_VIRTUAL_SIZE(170,5863
  5590. > #define REGISTER_VIRTUAL_TYPE(200,6644
  5591. 2441,2443c2441,2443
  5592. < #define STORE_RETURN_VALUE(217,7340
  5593. < #define STORE_STRUCT_RETURN(204,6822
  5594. < #define USE_STRUCT_CONVENTION(227,7827
  5595. ---
  5596. > #define STORE_RETURN_VALUE(217,7348
  5597. > #define STORE_STRUCT_RETURN(204,6830
  5598. > #define USE_STRUCT_CONVENTION(227,7835
  5599. 2517,2530c2517,2530
  5600. < #define EXTRACT_RETURN_VALUE(270,9967
  5601. < #define EXTRACT_STRUCT_VALUE_ADDRESS(284,10569
  5602. < #define FIX_CALL_DUMMY(524,19830
  5603. < #define FRAME_ARGS_ADDRESS(361,13333
  5604. < #define FRAME_ARGS_ADDRESS(370,13539
  5605. < #define FRAME_CHAIN(324,11896
  5606. < #define FRAME_CHAIN_COMBINE(332,12143
  5607. < #define FRAME_CHAIN_VALID(327,11983
  5608. < #define FRAME_FIND_SAVED_REGS(410,15141
  5609. < #define FRAME_LOCALS_ADDRESS(364,13389
  5610. < #define FRAME_LOCALS_ADDRESS(373,13633
  5611. < #define FRAME_NUM_ARGS(381,13800
  5612. < #define FRAME_SAVED_PC(349,12790
  5613. < #define INIT_EXTRA_FRAME_INFO(296,10853
  5614. ---
  5615. > #define EXTRACT_RETURN_VALUE(270,9975
  5616. > #define EXTRACT_STRUCT_VALUE_ADDRESS(284,10577
  5617. > #define FIX_CALL_DUMMY(524,19838
  5618. > #define FRAME_ARGS_ADDRESS(361,13341
  5619. > #define FRAME_ARGS_ADDRESS(370,13547
  5620. > #define FRAME_CHAIN(324,11904
  5621. > #define FRAME_CHAIN_COMBINE(332,12151
  5622. > #define FRAME_CHAIN_VALID(327,11991
  5623. > #define FRAME_FIND_SAVED_REGS(410,15149
  5624. > #define FRAME_LOCALS_ADDRESS(364,13397
  5625. > #define FRAME_LOCALS_ADDRESS(373,13641
  5626. > #define FRAME_NUM_ARGS(381,13808
  5627. > #define FRAME_SAVED_PC(349,12798
  5628. > #define INIT_EXTRA_FRAME_INFO(296,10861
  5629. 2532,2539c2532,2539
  5630. < #define REGISTER_BYTE(210,8086
  5631. < #define REGISTER_CONVERTIBLE(233,8707
  5632. < #define REGISTER_CONVERT_TO_RAW(244,9022
  5633. < #define REGISTER_CONVERT_TO_VIRTUAL(238,8841
  5634. < #define REGISTER_IN_WINDOW_P(204,7927
  5635. < #define REGISTER_RAW_SIZE(215,8252
  5636. < #define REGISTER_VIRTUAL_SIZE(220,8409
  5637. < #define REGISTER_VIRTUAL_TYPE(250,9190
  5638. ---
  5639. > #define REGISTER_BYTE(210,8094
  5640. > #define REGISTER_CONVERTIBLE(233,8715
  5641. > #define REGISTER_CONVERT_TO_RAW(244,9030
  5642. > #define REGISTER_CONVERT_TO_VIRTUAL(238,8849
  5643. > #define REGISTER_IN_WINDOW_P(204,7935
  5644. > #define REGISTER_RAW_SIZE(215,8260
  5645. > #define REGISTER_VIRTUAL_SIZE(220,8417
  5646. > #define REGISTER_VIRTUAL_TYPE(250,9198
  5647. 2543,2544c2543,2544
  5648. < #define STORE_RETURN_VALUE(277,10231
  5649. < #define STORE_STRUCT_RETURN(259,9498
  5650. ---
  5651. > #define STORE_RETURN_VALUE(277,10239
  5652. > #define STORE_STRUCT_RETURN(259,9506
  5653. 2546,2573c2546,2573
  5654. < tm-sparc.h,1286
  5655. < #define ABOUT_TO_RETURN(113,4189
  5656. < #define CANNOT_STORE_REGISTER(245,8936
  5657. < #define EXTRACT_RETURN_VALUE(257,9399
  5658. < #define EXTRACT_STRUCT_VALUE_ADDRESS(288,10874
  5659. < #define FIX_CALL_DUMMY(556,21079
  5660. < #define FRAMELESS_FUNCTION_INVOCATION(355,13341
  5661. < #define FRAME_ARGS_ADDRESS(364,13629
  5662. < #define FRAME_CHAIN(342,12836
  5663. < #define FRAME_CHAIN_COMBINE(348,13049
  5664. < #define FRAME_CHAIN_VALID(345,12932
  5665. < #define FRAME_FIND_SAVED_REGS(385,14341
  5666. < #define FRAME_LOCALS_ADDRESS(368,13728
  5667. < #define FRAME_NUM_ARGS(375,13986
  5668. < #define FRAME_SAVED_PC(360,13489
  5669. < #define FRAME_STRUCT_ARGS_ADDRESS(366,13675
  5670. < #define INIT_EXTRA_FRAME_INFO(335,12622
  5671. < #define INVALID_FLOAT(118,4344
  5672. < #define PC_ADJUST(82,3266
  5673. < #define    PRINT_REGISTER_HOOK(579,21916
  5674. < #define REGISTER_BYTE(181,7094
  5675. < #define REGISTER_CONVERTIBLE(221,8229
  5676. < #define REGISTER_CONVERT_TO_RAW(232,8548
  5677. < #define REGISTER_CONVERT_TO_VIRTUAL(226,8365
  5678. < #define REGISTER_IN_WINDOW_P(193,7555
  5679. < #define REGISTER_RAW_SIZE(201,7765
  5680. < #define REGISTER_VIRTUAL_SIZE(208,7929
  5681. < #define REGISTER_VIRTUAL_TYPE(238,8718
  5682. ---
  5683. > tm-sparc.h,1330
  5684. > #define ABOUT_TO_RETURN(118,4468
  5685. > #define CANNOT_STORE_REGISTER(250,9215
  5686. > #define EXTRACT_RETURN_VALUE(262,9678
  5687. > #define EXTRACT_STRUCT_VALUE_ADDRESS(293,11153
  5688. > #define FIX_CALL_DUMMY(561,21358
  5689. > #define FRAMELESS_FUNCTION_INVOCATION(360,13620
  5690. > #define FRAME_ARGS_ADDRESS(369,13908
  5691. > #define FRAME_CHAIN(347,13115
  5692. > #define FRAME_CHAIN_COMBINE(353,13328
  5693. > #define FRAME_CHAIN_VALID(350,13211
  5694. > #define FRAME_FIND_SAVED_REGS(390,14620
  5695. > #define FRAME_LOCALS_ADDRESS(373,14007
  5696. > #define FRAME_NUM_ARGS(380,14265
  5697. > #define FRAME_SAVED_PC(365,13768
  5698. > #define FRAME_STRUCT_ARGS_ADDRESS(371,13954
  5699. > #define INIT_EXTRA_FRAME_INFO(340,12901
  5700. > #define INVALID_FLOAT(123,4623
  5701. > #define PC_ADJUST(87,3569
  5702. > #define    PRINT_REGISTER_HOOK(584,22197
  5703. > #define REGISTER_BYTE(186,7373
  5704. > #define REGISTER_CONVERTIBLE(226,8508
  5705. > #define REGISTER_CONVERT_TO_RAW(237,8827
  5706. > #define REGISTER_CONVERT_TO_VIRTUAL(231,8644
  5707. > #define REGISTER_IN_WINDOW_P(198,7834
  5708. > #define REGISTER_RAW_SIZE(206,8044
  5709. > #define REGISTER_VIRTUAL_SIZE(213,8208
  5710. > #define REGISTER_VIRTUAL_TYPE(243,8997
  5711. 2575,2579c2575,2580
  5712. < #define SAVED_PC_AFTER_CALL(85,3369
  5713. < #define SKIP_PROLOGUE(69,2787
  5714. < #define STACK_ALIGN(97,3674
  5715. < #define STORE_RETURN_VALUE(271,10017
  5716. < #define STORE_STRUCT_RETURN(250,9133
  5717. ---
  5718. > #define SAVED_PC_AFTER_CALL(90,3648
  5719. > #define SKIP_PROLOGUE(72,3013
  5720. > #define SKIP_PROLOGUE_FRAMELESS_P(74,3075
  5721. > #define STACK_ALIGN(102,3953
  5722. > #define STORE_RETURN_VALUE(276,10296
  5723. > #define STORE_STRUCT_RETURN(255,9412
  5724. 2767,2768c2768,2769
  5725. < #define INIT_STACK(83,2971
  5726. < #define REGISTER_U_ADDR(40,1448
  5727. ---
  5728. > #define INIT_STACK(88,3157
  5729. > #define REGISTER_U_ADDR(45,1634
  5730. 2916,2920c2917,2921
  5731. < DEFUN(checkhdr,45,1533
  5732. < DEFUN(freehook,52,1693
  5733. < DEFUN(mallochook,63,1892
  5734. < DEFUN(mcheck,101,2762
  5735. < DEFUN(reallochook,80,2243
  5736. ---
  5737. > DEFUN(checkhdr,46,1548
  5738. > DEFUN(freehook,53,1708
  5739. > DEFUN(mallochook,64,1907
  5740. > DEFUN(mcheck,102,2777
  5741. > DEFUN(reallochook,81,2258
  5742. diff -r gdb-3.98/gdb/WHATS.NEW gdb-4.0/gdb/WHATS.NEW
  5743. 5,6c5
  5744. < Wide output is wrapped at good places to make the output more
  5745. < readable.
  5746. ---
  5747. > Wide output is wrapped at good places to make the output more readable.
  5748. 12,14c11,14
  5749. < remote system.  It also supports debugging of realtime processes
  5750. < running under VxWorks, using SunRPC Remote Procedure Calls over TCP/IP
  5751. < to talk to a debugger stub on the target system.
  5752. ---
  5753. > remote system.  Serial stubs for the m68k and i386 are provided.  Gdb
  5754. > also supports debugging of realtime processes running under VxWorks,
  5755. > using SunRPC Remote Procedure Calls over TCP/IP to talk to a debugger
  5756. > stub on the target system.
  5757. 22c22,23
  5758. < There is now a GDB reference card in "gdbrc.tex".
  5759. ---
  5760. > There is now a GDB reference card in "doc/refcard.tex".  (Make targets
  5761. > refcard.dvi and refcard.ps are available to format it).
  5762. diff -r gdb-3.98/gdb/blockframe.c gdb-4.0/gdb/blockframe.c
  5763. 193a194,198
  5764. > #ifdef SKIP_PROLOGUE_FRAMELESS_P
  5765. >       /* This is faster, since only care whether there *is* a prologue,
  5766. >      not how long it is.  */
  5767. >       SKIP_PROLOGUE_FRAMELESS_P (after_prologue);
  5768. > #else
  5769. 194a200
  5770. > #endif
  5771. 277a284,285
  5772. >   if (address == 0)
  5773. >     return 0;
  5774. diff -r gdb-3.98/gdb/breakpoint.c gdb-4.0/gdb/breakpoint.c
  5775. 284c284
  5776. <     if (input_from_terminal_p ())
  5777. ---
  5778. >     if (from_tty && input_from_terminal_p ())
  5779. 569a570,578
  5780. > /* Stub for cleaning up our state if we error-out of a breakpoint command */
  5781. > /* ARGSUSED */
  5782. > static void
  5783. > cleanup_executing_breakpoints (ignore)
  5784. >      int ignore;
  5785. > {
  5786. >   executing_breakpoint_commands = 0;
  5787. > }
  5788. 578a588,591
  5789. >   struct cleanup *old_chain;
  5790. >   executing_breakpoint_commands = 1;
  5791. >   old_chain = make_cleanup (cleanup_executing_breakpoints, 0);
  5792. 583d595
  5793. <   executing_breakpoint_commands = 1;
  5794. 602a615
  5795. >   discard_cleanups (old_chain);
  5796. 2207c2220
  5797. < /* ARGSUED */
  5798. ---
  5799. > /* ARGSUSED */
  5800. diff -r gdb-3.98/gdb/coffread.c gdb-4.0/gdb/coffread.c
  5801. 691a692
  5802. > /* ARGSUSED */
  5803. 1318a1320,1325
  5804. >   linetab_offset = offset;
  5805. >   linetab_size = size;
  5806. >   if (size == 0)
  5807. >     return 0;
  5808. 1328,1329d1334
  5809. <   linetab_offset = offset;
  5810. <   linetab_size = size;
  5811. 1695c1700
  5812. <       type = coff_alloc_type (aux->x_sym.x_tagndx);
  5813. ---
  5814. >       type = coff_alloc_type (aux->x_sym.x_tagndx.l);
  5815. 1931a1937
  5816. > /* ARGSUSED */
  5817. Only in gdb-4.0/gdb: config.sub
  5818. diff -r gdb-3.98/gdb/configure gdb-4.0/gdb/configure
  5819. 27c27
  5820. < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
  5821. ---
  5822. > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
  5823. 57a58
  5824. > recursing=
  5825. 62a64
  5826. > commontargets=
  5827. 70c72
  5828. <     -ansi | +ansi)
  5829. ---
  5830. >     -ansi | +a*)
  5831. 71a74
  5832. >         clib=clib
  5833. 76,79d78
  5834. <     -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
  5835. <     | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
  5836. <         forcesubdirs=${arg}
  5837. <         ;;
  5838. 85c84
  5839. <     -gas | +gas | +ga | +g)
  5840. ---
  5841. >     -gas | +g*)
  5842. 88c87
  5843. <     -help | +h | +help)
  5844. ---
  5845. >     -help | +h*)
  5846. 91c90
  5847. <     -nfp | +nfp | +nf | +n)
  5848. ---
  5849. >     -nfp | +nf*)
  5850. 94c93
  5851. <     -norecurse | +norecurse)
  5852. ---
  5853. >     -norecurse | +no*)
  5854. 97c96,99
  5855. <     -rm | +rm)
  5856. ---
  5857. >     -recursing)
  5858. >         recursing=true
  5859. >         ;;
  5860. >     -rm | +r*)
  5861. 103c105,108
  5862. <     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
  5863. ---
  5864. >     -subdirs | +f* | +su*)
  5865. >         subdirs=${arg}
  5866. >         ;;
  5867. >     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
  5868. 105c110
  5869. <             forcesubdirs="+forcesubdirs"
  5870. ---
  5871. >             subdirs="+subdirs"
  5872. 111c116
  5873. <     -template=* | +template=*)
  5874. ---
  5875. >     -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
  5876. 114c119
  5877. <     +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
  5878. ---
  5879. >     -v | -verbose | +v*)
  5880. 125c130
  5881. <             forcesubdirs="+forcesubdirs"
  5882. ---
  5883. >             subdirs="+subdirs"
  5884. 136d140
  5885. <     echo targets=\"${targets}\"
  5886. 145c149
  5887. <         echo) 2>&1
  5888. ---
  5889. >         echo) 1>&2
  5890. 156c160
  5891. <     echo " +forcesubdirs    configure in subdirectories.  [in source directories]" ;
  5892. ---
  5893. >     echo " +subdirs        configure in subdirectories.  [in source directories]" ;
  5894. 167c171
  5895. <     echo "Asking for more than one \"+target\" implies \"+forcesubdirs\".  Any other" ;
  5896. ---
  5897. >     echo "Asking for more than one \"+target\" implies \"+subdirs\".  Any other" ;
  5898. 186c190
  5899. <         echo "Can't find template ${template}."
  5900. ---
  5901. >         echo '***' "Can't find template ${template}." 1>&2
  5902. 207c211
  5903. <             echo `pwd`/configure.in has no "per-host:" line.
  5904. ---
  5905. >             echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
  5906. 212c216
  5907. <             echo `pwd`/configure.in has no "per-target:" line.
  5908. ---
  5909. >             echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
  5910. 245c249,252
  5911. <     echo Rebuilt configure in `pwd`
  5912. ---
  5913. >     if [ -n "${verbose}" ] ; then
  5914. >         echo Rebuilt configure in `pwd`
  5915. >     fi
  5916. 246a254,264
  5917. >     # Now update config.sub from the template directory.
  5918. >     if echo "$template" | grep -s 'configure$' ; then
  5919. >         cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
  5920. >     #    mv config.sub config.sub.old
  5921. >         mv config.sub.new config.sub
  5922. >         if [ -n "${verbose}" ] ; then
  5923. >             echo Rebuilt config.sub in `pwd`
  5924. >         fi
  5925. >     fi
  5926. 271c289
  5927. <                         echo No configure script in `pwd`/$i
  5928. ---
  5929. >                         echo Warning: No configure script in `pwd`/$i
  5930. 274c292,294
  5931. <                     echo Warning: directory $i is missing.
  5932. ---
  5933. >                     if [ -n "${verbose}" ] ; then
  5934. >                       echo Warning: directory $i is missing.
  5935. >                     fi
  5936. 285c305
  5937. <     echo srctrigger not set in configure.in. `pwd` not configured.
  5938. ---
  5939. >     echo Warning: srctrigger not set in configure.in. `pwd` not configured.
  5940. 295a316,320
  5941. >     result=`/bin/sh ./config.sub ${host}`
  5942. >     host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  5943. >     host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  5944. >     host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  5945. >     host=${host_cpu}-${host_vendor}-${host_os}
  5946. 300,301c325,422
  5947. < if [ ! -f xconfig/${host} ]; then
  5948. <     echo "No such host ${host}"
  5949. ---
  5950. > # map host info into gdb names.
  5951. > case "${host_cpu}" in
  5952. > m68k)
  5953. >     case "${host_vendor}" in
  5954. >     att)    gdb_host=3b1 ;;
  5955. >     altos)
  5956. >         case "${host_os}" in
  5957. >         gas)    gdb_host=altosgas ;;
  5958. >         *)    gdb_host=altos ;;    
  5959. >         esac
  5960. >         ;;
  5961. >     hp)
  5962. >         case ${host_os} in
  5963. >         hpux)    gdb_host=hp300hpux ;;
  5964. >         bsd)    gdb_host=hp300bsd ;;
  5965. >         esac
  5966. >         ;;
  5967. >     isi)    gdb_host=isi ;;
  5968. >     sony)    gdb_host=news ;;
  5969. >     sun)
  5970. >         case "${host_os}" in
  5971. >         sunos3)    gdb_host=sun3os3 ;;
  5972. >         sunos4)    gdb_host=sun3os4 ;;
  5973. >         *)    gdb_host=sun3 ;;
  5974. >         esac
  5975. >         ;;
  5976. >     esac
  5977. >     ;;
  5978. > m68000)
  5979. >     case "${host_vendor}" in
  5980. >     sun)
  5981. >         case "${host_os}" in
  5982. >         sunos3)    gdb_host=sun2os3 ;;
  5983. >         sunos4)    gdb_host=sun2os4 ;;
  5984. >         *)    gdb_host=sun2 ;;
  5985. >         esac
  5986. >     esac
  5987. >     ;;
  5988. > sparc)
  5989. >     case "${host_os}" in
  5990. >     sunos3)    gdb_host=sun4os3 ;;
  5991. >     sunos4)    gdb_host=sun4os4 ;;
  5992. >     *)    gdb_host=sun4 ;;
  5993. >     esac
  5994. >     ;;
  5995. > m68030)
  5996. >     case "${host_vendor}" in
  5997. >     sony)    gdb_host=news1000 ;;
  5998. >     esac
  5999. >     ;;
  6000. > mips)
  6001. >     case "${host_vendor}" in
  6002. >     sony)    gdb_host=bigmips ;;
  6003. >     dec)    gdb_host=dec3100 ;;
  6004. >     little)    gdb_host=littlemips ;;
  6005. >     esac
  6006. >     ;;
  6007. > i386)
  6008. >     case "${host_vendor}" in
  6009. >     sun)    gdb_host=sun386 ;;
  6010. >     sco)    gdb_host=i386sco ;;
  6011. >     sequent)    gdb_host=symmetry ;;
  6012. >     *)
  6013. >         case "${host_os}" in
  6014. >         sysv)    gdb_host=i386v ;;
  6015. >         sysv32)    gdb_host=i386v32 ;;
  6016. >         esac
  6017. >         ;;
  6018. >     esac
  6019. >     ;;
  6020. > c1 | c2)    gdb_host=convex ;;
  6021. > ns32k)
  6022. >     case "${host_vendor}" in
  6023. >     umax)    gdb_host=umax ;;
  6024. >     esac
  6025. >     ;;
  6026. > arm | vax | m88k | merlin | none | np1 | pn | pyramid | tahoe)    gdb_host=${host_cpu} ;;
  6027. > ### unhandled hosts
  6028. > #altosgas
  6029. > #i386v-g
  6030. > #i386v32-g
  6031. > esac
  6032. > if [ ! -f xconfig/${gdb_host} ]; then
  6033. >     echo '***' "Gdb does not support host ${host}" 1>&2
  6034. 306c427
  6035. < hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/$host`
  6036. ---
  6037. > hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/${gdb_host}`
  6038. 310d430
  6039. 313,316c433,437
  6040. <         if [ -n "${verbose}" ] ; then
  6041. <             echo "    target=\"${target}\""
  6042. <         fi
  6043. ---
  6044. >         result=`/bin/sh ./config.sub ${target}`
  6045. >         target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  6046. >         target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  6047. >         target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  6048. >         target=${target_cpu}-${target_vendor}-${target_os}
  6049. 321,322c442,548
  6050. < if [ ! -f tconfig/${target} ]; then
  6051. <     echo "No such target ${target}"
  6052. ---
  6053. > case "${target_cpu}" in
  6054. > m68k)
  6055. >     case "${target_vendor}" in
  6056. >     att)    gdb_target=3b1 ;;
  6057. >     altos)    gdb_target=altos ;;
  6058. >     hp)
  6059. >         case "${target_os}" in
  6060. >         bsd)    gdb_target=hp300bsd ;;
  6061. >         hpux)    gdb_target=hp300hpux ;;
  6062. >         esac
  6063. >         ;;
  6064. >     sun)
  6065. >         case "${target_os}" in
  6066. >         sunos3)    gdb_target=sun3os3 ;;
  6067. >         sunos4)    gdb_target=sun3os4 ;;
  6068. >         *)    gdb_target=sun3 ;;
  6069. >         esac
  6070. >         ;;
  6071. >     wrs)    gdb_target=vxworks68 ;;
  6072. >     isi)    gdb_target=isi ;;
  6073. >     sony)    gdb_target=news ;;
  6074. >     esac
  6075. >     ;;
  6076. > m68000)
  6077. >     case "${target_vendor}" in
  6078. >     sun)
  6079. >         case "${target_os}" in
  6080. >         sunos3)    gdb_target=sun2os3 ;;
  6081. >         sunos4)    gdb_target=sun2os4 ;;
  6082. >         *)    gdb_target=sun2 ;;
  6083. >         esac
  6084. >     esac
  6085. >     ;;
  6086. > m68030)
  6087. >     case "${target_vendor}" in
  6088. >     sony)    gdb_target=news1000 ;;
  6089. >     esac
  6090. >     ;;
  6091. > none | tahoe | vax | np1 | pn | np1 | pn | pyramid | merlin | m88k)
  6092. >     gdb_target=${target_cpu} ;;
  6093. > a29k)    gdb_target=am29k ;;
  6094. > arm)    gdb_target=${target_cpu} ;;
  6095. > mips)
  6096. >     case "${target_vendor}" in
  6097. >     sony)    gdb_target=bigmips ;;
  6098. >     dec)    gdb_target=dec3100 ;;
  6099. >     little)    gdb_target=littlemips ;;
  6100. >     esac
  6101. >     ;;
  6102. > c1 | c2)    gdb_target=convex ;;
  6103. > sparc)
  6104. >     case "${target_vendor}" in
  6105. >     sun)
  6106. >         case "${target_os}" in
  6107. >         sunos3)    gdb_target=sun4os3 ;;
  6108. >         sunos4)    gdb_target=sun4os4 ;;
  6109. >         *)    gdb_target=sun4 ;;
  6110. >         esac
  6111. >         ;;
  6112. >     esac
  6113. >     ;;
  6114. > i386)
  6115. >     case "${target_vendor}" in
  6116. >     sco)    gdb_target=i386sco ;;
  6117. >     sun)    gdb_target=sun386 ;;
  6118. >     sequent)    gdb_target=symmetry ;;
  6119. >     coff)    gdb_target=i386v ;;
  6120. >     aout)    gdb_target=i386v ;;
  6121. >     *)
  6122. >         case "${target_os}" in
  6123. >         sysv)    gdb_target=i386v ;;
  6124. >         sysv32)    gdb_target=i386v32 ;;
  6125. >         esac
  6126. >     esac
  6127. >     ;;
  6128. > i960)
  6129. >     case "${target_vendor}" in
  6130. >     bout | wrs)    gdb_target=vxworks960 ;;
  6131. >     coff | intel)    gdb_target=nindy960 ;;
  6132. >     esac
  6133. >     ;;
  6134. > ns32k)
  6135. >     case "${target_vendor}" in
  6136. >     utek)    gdb_target=umax ;;
  6137. >     esac
  6138. >     ;;
  6139. > ### unhandled targets
  6140. > # altosgas
  6141. > # i386v-g
  6142. > # i386v32-g
  6143. > esac
  6144. > if [ ! -f tconfig/${gdb_target} ]; then
  6145. >     echo '***' "Gdb does not support target ${target}" 1>&2
  6146. 327c553
  6147. <     cat xconfig/${host} tconfig/${target} | awk '$1 == "#msg" {
  6148. ---
  6149. >     cat xconfig/${gdb_host} tconfig/${gdb_target} | awk '$1 == "#msg" {
  6150. 332c558
  6151. < targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/$target`
  6152. ---
  6153. > targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/${gdb_target}`
  6154. 334,335c560,561
  6155. < host_makefile_frag=xconfig/${host}
  6156. < target_makefile_frag=tconfig/${target}
  6157. ---
  6158. > host_makefile_frag=xconfig/${gdb_host}
  6159. > target_makefile_frag=tconfig/${gdb_target}
  6160. 361c587
  6161. <             if [ -n "${forcesubdirs}" ] ; then
  6162. ---
  6163. >             if [ -n "${subdirs}" ] ; then
  6164. 365c591
  6165. <                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
  6166. ---
  6167. >                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
  6168. 375c601
  6169. <             if [ -n "${forcesubdirs}" ] ; then
  6170. ---
  6171. >             if [ -n "${subdirs}" ] ; then
  6172. 378c604
  6173. <                     echo "${Makefile} already exists in source directory.  `pwd` not configured."
  6174. ---
  6175. >                     echo '***' "${Makefile} already exists in source directory.  `pwd` not configured." 1>&2
  6176. 385c611,622
  6177. <                 if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
  6178. ---
  6179. >                 if [ ! -d ${targetsubdir} ] ; then
  6180. >                     if [ -z "${commontargets}" ] ; then
  6181. >                         mkdir ${targetsubdir}
  6182. >                     else
  6183. >                         if [ ! -d Target-independent ] ; then
  6184. >                             mkdir Target-independent
  6185. >                         fi
  6186. >                         ${symbolic_link} Target-independent ${targetsubdir}
  6187. >                     fi # if target independent
  6188. >                 fi # if no target dir yet
  6189. 392c629
  6190. <                     echo "Configured subdirs exist.  `pwd` not configured."
  6191. ---
  6192. >                     echo '***' "Configured subdirs exist.  `pwd` not configured." 1>&2
  6193. 408c645
  6194. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  6195. ---
  6196. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  6197. 410c647
  6198. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  6199. ---
  6200. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  6201. 413c650
  6202. <                 echo \(At least ${srctrigger} is missing.\) 1>&2
  6203. ---
  6204. >                 echo '***' \(At least ${srctrigger} is missing.\) 1>&2
  6205. 427,428c664,665
  6206. <                     echo "${progname}: cannot create a link \"${link}\"," 1>&2
  6207. <                     echo "since the file \"${file}\" does not exist." 1>&2
  6208. ---
  6209. >                     echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
  6210. >                     echo '***' "since the file \"${file}\" does not exist." 1>&2
  6211. 438c675
  6212. <                     echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  6213. ---
  6214. >                     echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  6215. 441c678,681
  6216. <                 echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  6217. ---
  6218. >                 if [ -n "${verbose}" ] ; then
  6219. >                     echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  6220. >                 fi
  6221. 477c717
  6222. <             if [ -n "${forcesubdirs}" ] ; then
  6223. ---
  6224. >             if [ -n "${subdirs}" ] ; then
  6225. 534c774,776
  6226. <             echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  6227. ---
  6228. >             if [ -n "${verbose}" -o -z "${recursing}" ] ; then
  6229. >                 echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  6230. >             fi
  6231. 562d803
  6232. <     done # for each target
  6233. 564,629c805,824
  6234. < #    # Now build a Makefile for this host.
  6235. < #    if [ -n "${forcesubdirs}" ] ; then
  6236. < #        cd ${hostsubdir}
  6237. < #        cat > GNUmakefile << E!O!F
  6238. < ## Makefile generated by configure for host ${host}.
  6239. < #
  6240. < #%:
  6241. < #    for i in ${targets} ; do \
  6242. < #        $(MAKE) -C Target-\$i \$@
  6243. < #
  6244. < #all clean stage1 stage2 stage3 stage4etags tags TAGS
  6245. < #E!O!F
  6246. < #    fi
  6247. < done # for each host
  6248. < # If there are subdirectories, then recurse. 
  6249. < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
  6250. < # configdirs is not null
  6251. < for configdir in ${configdirs} ; do
  6252. <     echo Configuring ${configdir}...
  6253. <     specifics=
  6254. <     commons=
  6255. <     if [ -n "${defaulttargets}" ] ; then
  6256. <         for host in ${hosts} ; do
  6257. <             if [ -d ${configdir}.${host} ] ; then
  6258. <                 newspecifics="${specifics} ${host}"
  6259. <                 specifics=${newspecifics}
  6260. <             else
  6261. <                 newcommons="${commons} ${host}"
  6262. <                 commons=${newcommons}
  6263. <             fi # if target specific
  6264. <         done # for each host
  6265. <         if [ -n "${commons}" ] ; then
  6266. <             if [ -d ${configdir} ] ; then
  6267. <                 (cd ${configdir} ;
  6268. <                     ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  6269. <                     | sed 's/^/    /'
  6270. <             else
  6271. <                 echo Warning: directory \"${configdir}\" is missing.
  6272. <             fi
  6273. <         fi # if any common hosts
  6274. <         if [ -n "${specifics}" ] ; then
  6275. <             for host in ${specifics} ; do
  6276. <                 echo Configuring target specific directory ${configdir}.${host}...
  6277. <                 (cd ${configdir}.${host} ;
  6278. <                     ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  6279. <                     | sed 's/^/    /'
  6280. <             done # for host in specifics
  6281. <         fi # if there are any specifics
  6282. <     else
  6283. <         for target in ${targets} ; do
  6284. <             if [ -d ${configdir}.${target} ] ; then
  6285. <                 newspecifics="${specifics} ${target}"
  6286. <                 specifics=${newspecifics}
  6287. <             else
  6288. <                 newcommons="${commons} +target=${target}"
  6289. <                 commons=${newcommons}
  6290. <             fi
  6291. <         done # check for target specific dir override
  6292. ---
  6293. >         # If there are subdirectories, then recurse. 
  6294. >         if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then 
  6295. >             for configdir in ${configdirs} ; do
  6296. >                 if [ -n "${verbose}" ] ; then
  6297. >                     echo Configuring ${configdir}...
  6298. >                 fi
  6299. >                 if [ -d ${configdir} ] ; then
  6300. >                     (cd ${configdir} ;
  6301. >                         ./configure -recursing ${host} +target=${target} \
  6302. >                             ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
  6303. >                         | sed 's/^/    /'
  6304. >                 else
  6305. >                     if [ -n "${verbose}" ] ; then
  6306. >                         echo Warning: directory \"${configdir}\" is missing.
  6307. >                     fi
  6308. >                 fi
  6309. >             done
  6310. >         fi
  6311. >     done # for each target
  6312. 631,634c826,835
  6313. <         if [ -n "${verbose}" ] ; then
  6314. <             echo "    "commons=\"${commons}\"
  6315. <             echo "    "specifics=\"${specifics}\"
  6316. <         fi # if verbose
  6317. ---
  6318. >     # Now build a Makefile for this host.
  6319. >     if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
  6320. >         cd ${hostsubdir}
  6321. >         cat > GNUmakefile << E!O!F
  6322. > # Makefile generated by configure for host ${host}.
  6323. > ALL := $(shell ls -d Target-*)
  6324. > %:
  6325. >     $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
  6326. 636,657c837,841
  6327. <         if [ -n "${commons}" ] ; then
  6328. <             if [ -d ${configdir} ] ; then
  6329. <                 (cd ${configdir} ;
  6330. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  6331. <                         ${commons} +destdir=${destdir}) \
  6332. <                     | sed 's/^/    /'
  6333. <             else
  6334. <                 echo Warning: directory \"${configdir}\" is missing.
  6335. <             fi
  6336. <         fi # if any commons
  6337. <         if [ -n "${specifics}" ] ; then
  6338. <             for target in ${specifics} ; do
  6339. <                 echo Configuring target specific directory ${configdir}.${target}...
  6340. <                 (cd ${configdir}.${target} ;
  6341. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  6342. <                         "+target=${target}" +destdir=${destdir}) \
  6343. <                     | sed 's/^/    /'
  6344. <             done
  6345. <         fi # if any specifics
  6346. <     fi # not default targets
  6347. < done
  6348. ---
  6349. > all:
  6350. > E!O!F
  6351. >         cd ..
  6352. >     fi
  6353. > done # for each host
  6354. 662a847,877
  6355. > # Revision 1.31  1991/08/23  04:50:57  rich
  6356. > # Minor config polish.
  6357. > #
  6358. > # Revision 1.22  1991/08/23  03:31:43  rich
  6359. > # Minor polish & config mapping.
  6360. > #
  6361. > # Revision 1.30  1991/08/22  07:15:51  rich
  6362. > # Three part names, etc.
  6363. > #
  6364. > # Revision 1.29  1991/08/20  04:56:51  rich
  6365. > # revisiting error messages
  6366. > #
  6367. > # Revision 1.28  1991/08/16  19:22:17  rich
  6368. > # This is the commontargets change and should be considered
  6369. > # experimental.
  6370. > #
  6371. > # Revision 1.27  1991/08/08  01:14:13  rich
  6372. > # allow +f to stand in for +subdirs
  6373. > #
  6374. > # Revision 1.26  1991/08/07  19:21:32  rich
  6375. > # +forcesubdirs -> +subdirs
  6376. > #
  6377. > # Revision 1.25  1991/08/07  07:05:30  rich
  6378. > # Added make.
  6379. > #
  6380. > # Revision 1.24  1991/08/06  19:26:01  rich
  6381. > # revised option parsing.
  6382. > #
  6383. > # Revision 1.23  1991/08/06  19:12:32  rich
  6384. > # Host-level GNUmakefiles.
  6385. > #
  6386. diff -r gdb-3.98/gdb/configure.in gdb-4.0/gdb/configure.in
  6387. 6,7c6,103
  6388. < if [ ! -f xconfig/${host} ]; then
  6389. <     echo "No such host ${host}"
  6390. ---
  6391. > # map host info into gdb names.
  6392. > case "${host_cpu}" in
  6393. > m68k)
  6394. >     case "${host_vendor}" in
  6395. >     att)    gdb_host=3b1 ;;
  6396. >     altos)
  6397. >         case "${host_os}" in
  6398. >         gas)    gdb_host=altosgas ;;
  6399. >         *)    gdb_host=altos ;;    
  6400. >         esac
  6401. >         ;;
  6402. >     hp)
  6403. >         case ${host_os} in
  6404. >         hpux)    gdb_host=hp300hpux ;;
  6405. >         bsd)    gdb_host=hp300bsd ;;
  6406. >         esac
  6407. >         ;;
  6408. >     isi)    gdb_host=isi ;;
  6409. >     sony)    gdb_host=news ;;
  6410. >     sun)
  6411. >         case "${host_os}" in
  6412. >         sunos3)    gdb_host=sun3os3 ;;
  6413. >         sunos4)    gdb_host=sun3os4 ;;
  6414. >         *)    gdb_host=sun3 ;;
  6415. >         esac
  6416. >         ;;
  6417. >     esac
  6418. >     ;;
  6419. > m68000)
  6420. >     case "${host_vendor}" in
  6421. >     sun)
  6422. >         case "${host_os}" in
  6423. >         sunos3)    gdb_host=sun2os3 ;;
  6424. >         sunos4)    gdb_host=sun2os4 ;;
  6425. >         *)    gdb_host=sun2 ;;
  6426. >         esac
  6427. >     esac
  6428. >     ;;
  6429. > sparc)
  6430. >     case "${host_os}" in
  6431. >     sunos3)    gdb_host=sun4os3 ;;
  6432. >     sunos4)    gdb_host=sun4os4 ;;
  6433. >     *)    gdb_host=sun4 ;;
  6434. >     esac
  6435. >     ;;
  6436. > m68030)
  6437. >     case "${host_vendor}" in
  6438. >     sony)    gdb_host=news1000 ;;
  6439. >     esac
  6440. >     ;;
  6441. > mips)
  6442. >     case "${host_vendor}" in
  6443. >     sony)    gdb_host=bigmips ;;
  6444. >     dec)    gdb_host=dec3100 ;;
  6445. >     little)    gdb_host=littlemips ;;
  6446. >     esac
  6447. >     ;;
  6448. > i386)
  6449. >     case "${host_vendor}" in
  6450. >     sun)    gdb_host=sun386 ;;
  6451. >     sco)    gdb_host=i386sco ;;
  6452. >     sequent)    gdb_host=symmetry ;;
  6453. >     *)
  6454. >         case "${host_os}" in
  6455. >         sysv)    gdb_host=i386v ;;
  6456. >         sysv32)    gdb_host=i386v32 ;;
  6457. >         esac
  6458. >         ;;
  6459. >     esac
  6460. >     ;;
  6461. > c1 | c2)    gdb_host=convex ;;
  6462. > ns32k)
  6463. >     case "${host_vendor}" in
  6464. >     umax)    gdb_host=umax ;;
  6465. >     esac
  6466. >     ;;
  6467. > arm | vax | m88k | merlin | none | np1 | pn | pyramid | tahoe)    gdb_host=${host_cpu} ;;
  6468. > ### unhandled hosts
  6469. > #altosgas
  6470. > #i386v-g
  6471. > #i386v32-g
  6472. > esac
  6473. > if [ ! -f xconfig/${gdb_host} ]; then
  6474. >     echo '***' "Gdb does not support host ${host}" 1>&2
  6475. 12c108
  6476. < hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/$host`
  6477. ---
  6478. > hostfile=`awk '$1 == "XM_FILE=" { print $2 }' <xconfig/${gdb_host}`
  6479. 16,17c112,218
  6480. < if [ ! -f tconfig/${target} ]; then
  6481. <     echo "No such target ${target}"
  6482. ---
  6483. > case "${target_cpu}" in
  6484. > m68k)
  6485. >     case "${target_vendor}" in
  6486. >     att)    gdb_target=3b1 ;;
  6487. >     altos)    gdb_target=altos ;;
  6488. >     hp)
  6489. >         case "${target_os}" in
  6490. >         bsd)    gdb_target=hp300bsd ;;
  6491. >         hpux)    gdb_target=hp300hpux ;;
  6492. >         esac
  6493. >         ;;
  6494. >     sun)
  6495. >         case "${target_os}" in
  6496. >         sunos3)    gdb_target=sun3os3 ;;
  6497. >         sunos4)    gdb_target=sun3os4 ;;
  6498. >         *)    gdb_target=sun3 ;;
  6499. >         esac
  6500. >         ;;
  6501. >     wrs)    gdb_target=vxworks68 ;;
  6502. >     isi)    gdb_target=isi ;;
  6503. >     sony)    gdb_target=news ;;
  6504. >     esac
  6505. >     ;;
  6506. > m68000)
  6507. >     case "${target_vendor}" in
  6508. >     sun)
  6509. >         case "${target_os}" in
  6510. >         sunos3)    gdb_target=sun2os3 ;;
  6511. >         sunos4)    gdb_target=sun2os4 ;;
  6512. >         *)    gdb_target=sun2 ;;
  6513. >         esac
  6514. >     esac
  6515. >     ;;
  6516. > m68030)
  6517. >     case "${target_vendor}" in
  6518. >     sony)    gdb_target=news1000 ;;
  6519. >     esac
  6520. >     ;;
  6521. > none | tahoe | vax | np1 | pn | np1 | pn | pyramid | merlin | m88k)
  6522. >     gdb_target=${target_cpu} ;;
  6523. > a29k)    gdb_target=am29k ;;
  6524. > arm)    gdb_target=${target_cpu} ;;
  6525. > mips)
  6526. >     case "${target_vendor}" in
  6527. >     sony)    gdb_target=bigmips ;;
  6528. >     dec)    gdb_target=dec3100 ;;
  6529. >     little)    gdb_target=littlemips ;;
  6530. >     esac
  6531. >     ;;
  6532. > c1 | c2)    gdb_target=convex ;;
  6533. > sparc)
  6534. >     case "${target_vendor}" in
  6535. >     sun)
  6536. >         case "${target_os}" in
  6537. >         sunos3)    gdb_target=sun4os3 ;;
  6538. >         sunos4)    gdb_target=sun4os4 ;;
  6539. >         *)    gdb_target=sun4 ;;
  6540. >         esac
  6541. >         ;;
  6542. >     esac
  6543. >     ;;
  6544. > i386)
  6545. >     case "${target_vendor}" in
  6546. >     sco)    gdb_target=i386sco ;;
  6547. >     sun)    gdb_target=sun386 ;;
  6548. >     sequent)    gdb_target=symmetry ;;
  6549. >     coff)    gdb_target=i386v ;;
  6550. >     aout)    gdb_target=i386v ;;
  6551. >     *)
  6552. >         case "${target_os}" in
  6553. >         sysv)    gdb_target=i386v ;;
  6554. >         sysv32)    gdb_target=i386v32 ;;
  6555. >         esac
  6556. >     esac
  6557. >     ;;
  6558. > i960)
  6559. >     case "${target_vendor}" in
  6560. >     bout | wrs)    gdb_target=vxworks960 ;;
  6561. >     coff | intel)    gdb_target=nindy960 ;;
  6562. >     esac
  6563. >     ;;
  6564. > ns32k)
  6565. >     case "${target_vendor}" in
  6566. >     utek)    gdb_target=umax ;;
  6567. >     esac
  6568. >     ;;
  6569. > ### unhandled targets
  6570. > # altosgas
  6571. > # i386v-g
  6572. > # i386v32-g
  6573. > esac
  6574. > if [ ! -f tconfig/${gdb_target} ]; then
  6575. >     echo '***' "Gdb does not support target ${target}" 1>&2
  6576. 22c223
  6577. <     cat xconfig/${host} tconfig/${target} | awk '$1 == "#msg" {
  6578. ---
  6579. >     cat xconfig/${gdb_host} tconfig/${gdb_target} | awk '$1 == "#msg" {
  6580. 27c228
  6581. < targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/$target`
  6582. ---
  6583. > targetfile=`awk '$1 == "TM_FILE=" { print $2 }' <tconfig/${gdb_target}`
  6584. 29,30c230,231
  6585. < host_makefile_frag=xconfig/${host}
  6586. < target_makefile_frag=tconfig/${target}
  6587. ---
  6588. > host_makefile_frag=xconfig/${gdb_host}
  6589. > target_makefile_frag=tconfig/${gdb_target}
  6590. diff -r gdb-3.98/gdb/core.c gdb-4.0/gdb/core.c
  6591. 46,47d45
  6592. < struct section_table *core_sections, *core_sections_end;
  6593. 70a69,73
  6594. >     if (core_ops.sections) {
  6595. >       free (core_ops.sections);
  6596. >       core_ops.sections = NULL;
  6597. >       core_ops.sections_end = NULL;
  6598. >     }
  6599. 73a77,88
  6600. > #ifdef SOLIB_ADD
  6601. > /* Stub function for catch_errors around shared library hacking. */
  6602. > int 
  6603. > solib_add_stub (from_tty)
  6604. >      int from_tty;
  6605. > {
  6606. >     SOLIB_ADD (NULL, from_tty, &core_ops);
  6607. >     return 0;
  6608. > }
  6609. > #endif /* SOLIB_ADD */
  6610. 126c141,142
  6611. <   if (build_section_table (core_bfd, &core_sections, &core_sections_end))
  6612. ---
  6613. >   if (build_section_table (core_bfd, &core_ops.sections,
  6614. >                &core_ops.sections_end))
  6615. 131c147
  6616. <   make_cleanup (unpush_target, &core_ops);
  6617. ---
  6618. >   discard_cleanups (old_chain);
  6619. 145c161,162
  6620. <     /* Add symbols for any shared libraries that were in use */
  6621. ---
  6622. >     /* Add symbols and section mappings for any shared libraries */
  6623. 147c164
  6624. <     SOLIB_ADD (NULL, from_tty);
  6625. ---
  6626. >     (void) catch_errors (solib_add_stub, from_tty, (char *)0);
  6627. 159,160d175
  6628. <   discard_cleanups (old_chain);
  6629. 223,225c238
  6630. <    print a warning if they don't go together.
  6631. <    This should really check that the core file came
  6632. <    from that exec file, but I don't know how to do it.  */
  6633. ---
  6634. >    print a warning if they don't go together.  */
  6635. 256c269,270
  6636. < core_files_info ()
  6637. ---
  6638. > core_files_info (t)
  6639. >   struct target_ops *t;
  6640. 262,265c276,286
  6641. <   for (p = core_sections; p < core_sections_end; p++)
  6642. <     printf("\tcore file  from 0x%08x to 0x%08x is %s\n",
  6643. <     p->addr, p->endaddr,
  6644. <     bfd_section_name (core_bfd, p->sec_ptr));
  6645. ---
  6646. >   for (p = t->sections; p < t->sections_end; p++)
  6647. >     if (p->bfd == core_bfd)
  6648. >       printf("\tcore file  from 0x%08x to 0x%08x is %s\n",
  6649. >       p->addr, p->endaddr,
  6650. >       bfd_section_name (p->bfd, p->sec_ptr));
  6651. >     else {
  6652. >       printf("\tshared lib from 0x%08x to 0x%08x is %s in %s\n",
  6653. >       p->addr, p->endaddr,
  6654. >       bfd_section_name (p->bfd, p->sec_ptr),
  6655. >       bfd_get_filename (p->bfd));
  6656. >     }
  6657. 357,391d377
  6658. < /* Read or write the core file.
  6659. <    Args are address within core file, address within gdb address-space,
  6660. <    length, and a flag indicating whether to read or write.
  6661. <    Result is a length:
  6662. <     0:    We cannot handle this address and length.
  6663. <     > 0:  We have handled N bytes starting at this address.
  6664. <           (If N == length, we did it all.)  We might be able
  6665. <           to handle more bytes beyond this length, but no
  6666. <           promises.
  6667. <     < 0:  We cannot handle this address, but if somebody
  6668. <           else handles (-N) bytes, we can start from there.
  6669. <    The actual work is done by xfer_memory in exec.c, which we share
  6670. <    in common with exec_xfer_memory().  */
  6671. < static int
  6672. < core_xfer_memory (memaddr, myaddr, len, write)
  6673. <      CORE_ADDR memaddr;
  6674. <      char *myaddr;
  6675. <      int len;
  6676. <      int write;
  6677. < {
  6678. <   int res;
  6679. <   res = xfer_memory (memaddr, myaddr, len, write,
  6680. <               core_bfd, core_sections, core_sections_end);
  6681. < #ifdef SOLIB_XFER_MEMORY
  6682. <   if (res == 0)
  6683. <     res = SOLIB_XFER_MEMORY (memaddr, myaddr, len, write);
  6684. < #endif
  6685. <   return res;
  6686. < }
  6687. 446c432
  6688. <     core_xfer_memory, core_files_info,
  6689. ---
  6690. >     xfer_memory, core_files_info,
  6691. 449c435
  6692. <     0, 0, 0, 0, 0, /* kill, load, add_syms, call fn, lookup sym */
  6693. ---
  6694. >     0, 0, 0, 0, /* kill, load, call fn, lookup sym */
  6695. 452a439
  6696. >     0, 0,            /* section pointers */
  6697. diff -r gdb-3.98/gdb/cplus-dem.c gdb-4.0/gdb/cplus-dem.c
  6698. 252,253c252
  6699. <       int n = (strlen (type) - 3)*2 + 3 + 2 + 1;
  6700. <       char *tem = (char *) xmalloc (n);
  6701. ---
  6702. >       char *tem = (char *) xmalloc ((strlen (type) - 3)*2 + 3 + 2 + 1);
  6703. 263,264c262
  6704. <       int n = strlen (type) + 2;
  6705. <       char *tem = (char *) xmalloc (n);
  6706. ---
  6707. >       char *tem = (char *) xmalloc (strlen (type) + 2);
  6708. 273,274c271
  6709. <       int n = strlen (type + 4) + 14 + 1;
  6710. <       char *tem = (char *) xmalloc (n);
  6711. ---
  6712. >       char *tem = (char *) xmalloc (strlen (type + 4) + 14 + 1);
  6713. diff -r gdb-3.98/gdb/dbxread.c gdb-4.0/gdb/dbxread.c
  6714. 163,164c163,164
  6715. < static const char vptr_name[] = { '_','v','p','t','r',CPLUS_MARKER };
  6716. < static const char vb_name[] =   { '_','v','b',CPLUS_MARKER };
  6717. ---
  6718. > static const char vptr_name[] = { '_','v','p','t','r',CPLUS_MARKER,'\0' };
  6719. > static const char vb_name[] =   { '_','v','b',CPLUS_MARKER,'\0' };
  6720. 1239,1246c1239
  6721. <   enum misc_function_type misc_type =
  6722. <     (type == (N_TEXT | N_EXT) ? mf_text :
  6723. <      (type == (N_DATA | N_EXT)
  6724. <       || type == (N_DATA)
  6725. <       || type == (N_SETV | N_EXT)
  6726. <       ) ? mf_data :
  6727. <      type == (N_BSS | N_EXT) ? mf_bss :
  6728. <      type == (N_ABS | N_EXT) ? mf_abs : mf_unknown);
  6729. ---
  6730. >   enum misc_function_type misc_type;
  6731. 1247a1241,1251
  6732. >   switch (type &~ N_EXT) {
  6733. >     case N_TEXT:  misc_type = mf_text; break;
  6734. >     case N_DATA:  misc_type = mf_data; break;
  6735. >     case N_BSS:   misc_type = mf_bss;  break;
  6736. >     case N_ABS:   misc_type = mf_abs;  break;
  6737. > #ifdef N_SETV
  6738. >     case N_SETV:  misc_type = mf_data; break;
  6739. > #endif
  6740. >     default:      misc_type = mf_unknown; break;
  6741. >   }
  6742. 2409,2410c2413,2417
  6743. <   return (st1[0] - st2[0] ? st1[0] - st2[0] :
  6744. <       strcmp (st1 + 1, st2 + 1));
  6745. ---
  6746. >   if (st1[0] - st2[0])
  6747. >     return st1[0] - st2[0];
  6748. >   if (st1[1] - st2[1])
  6749. >     return st1[1] - st2[1];
  6750. >   return strcmp (st1 + 1, st2 + 1);
  6751. 2759a2767
  6752. > /* ARGSUSED */
  6753. 3274a3283
  6754. > /* ARGSUSED */
  6755. 3599,3603c3608,3612
  6756. <        int i;
  6757. <        for (i = TYPE_N_BASECLASSES (SYMBOL_TYPE (sym)) - 1; i >= 0; i--)
  6758. <          if (TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), i) == 0)
  6759. <            TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), i) =
  6760. <          type_name_no_tag (TYPE_BASECLASS (SYMBOL_TYPE (sym), i));
  6761. ---
  6762. >        int j;
  6763. >        for (j = TYPE_N_BASECLASSES (SYMBOL_TYPE (sym)) - 1; j >= 0; j--)
  6764. >          if (TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), j) == 0)
  6765. >            TYPE_BASECLASS_NAME (SYMBOL_TYPE (sym), j) =
  6766. >          type_name_no_tag (TYPE_BASECLASS (SYMBOL_TYPE (sym), j));
  6767. 4359a4369,4371
  6768. >       /* GNU C++ anonymous type.  */
  6769. >       else if (*p == '_')
  6770. >         break;
  6771. 4934,4936c4946,4948
  6772. <       struct symbol *sym = syms->symbol[j];
  6773. <       SYMBOL_TYPE (sym) = type;
  6774. <       TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (sym);
  6775. ---
  6776. >       struct symbol *xsym = syms->symbol[j];
  6777. >       SYMBOL_TYPE (xsym) = type;
  6778. >       TYPE_FIELD_NAME (type, n) = SYMBOL_NAME (xsym);
  6779. 4938c4950
  6780. <       TYPE_FIELD_BITPOS (type, n) = SYMBOL_VALUE (sym);
  6781. ---
  6782. >       TYPE_FIELD_BITPOS (type, n) = SYMBOL_VALUE (xsym);
  6783. diff -r gdb-3.98/gdb/depend gdb-4.0/gdb/depend
  6784. 4c4,5
  6785. < am29k-pinsn.o : am29k-pinsn.c defs.h target.h am29k-opcode.h 
  6786. ---
  6787. > am29k-pinsn.o : am29k-pinsn.c defs.h target.h ${srcdir}/../include/bfd.h \
  6788. >   ${srcdir}/../include/ansidecl.h ${srcdir}/../include/obstack.h am29k-opcode.h 
  6789. 45c46
  6790. <   gdbcore.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h ${srcdir}/../bfd/libaout.h \
  6791. ---
  6792. >   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h gdbcore.h ${srcdir}/../bfd/libaout.h \
  6793. 49c50
  6794. <   expression.h target.h frame.h 
  6795. ---
  6796. >   expression.h target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h frame.h 
  6797. 51,52c52,53
  6798. <   breakpoint.h value.h symtab.h target.h gdbcmd.h command.h gdbcore.h \
  6799. <   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h 
  6800. ---
  6801. >   breakpoint.h value.h symtab.h target.h ${srcdir}/../include/bfd.h \
  6802. >   ${srcdir}/../include/ansidecl.h gdbcmd.h command.h gdbcore.h 
  6803. 86c87
  6804. <   target.h 
  6805. ---
  6806. >   target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h 
  6807. 88,89c89,90
  6808. <   inferior.h breakpoint.h value.h symtab.h target.h gdbcore.h \
  6809. <   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h 
  6810. ---
  6811. >   inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/bfd.h \
  6812. >   ${srcdir}/../include/ansidecl.h gdbcore.h 
  6813. 95,96c96,97
  6814. <   inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/wait.h \
  6815. <   gdbcore.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h ieee-float.h 
  6816. ---
  6817. >   inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/bfd.h \
  6818. >   ${srcdir}/../include/ansidecl.h ${srcdir}/../include/wait.h gdbcore.h ieee-float.h 
  6819. 109,110c110,112
  6820. <   ${srcdir}/../include/getopt.h ${srcdir}/../readline/readline.h ${srcdir}/../readline/keymaps.h \
  6821. <   ${srcdir}/../readline/chardefs.h ${srcdir}/../readline/history.h 
  6822. ---
  6823. >   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h ${srcdir}/../include/getopt.h \
  6824. >   ${srcdir}/../readline/readline.h ${srcdir}/../readline/keymaps.h ${srcdir}/../readline/chardefs.h \
  6825. >   ${srcdir}/../readline/history.h 
  6826. 147c149
  6827. <   terminal.h target.h 
  6828. ---
  6829. >   terminal.h target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h 
  6830. 149,150c151,152
  6831. <   frame.h inferior.h breakpoint.h value.h symtab.h target.h gdbcore.h \
  6832. <   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h command.h ieee-float.h \
  6833. ---
  6834. >   frame.h inferior.h breakpoint.h value.h symtab.h target.h \
  6835. >   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h gdbcore.h command.h ieee-float.h \
  6836. 155c157
  6837. <   gdbcore.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h command.h symfile.h \
  6838. ---
  6839. >   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h gdbcore.h command.h symfile.h \
  6840. 159,160c161,162
  6841. <   inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/wait.h \
  6842. <   terminal.h 
  6843. ---
  6844. >   inferior.h breakpoint.h value.h symtab.h target.h ${srcdir}/../include/bfd.h \
  6845. >   ${srcdir}/../include/ansidecl.h ${srcdir}/../include/wait.h terminal.h 
  6846. 172,173c174,175
  6847. <   inferior.h breakpoint.h value.h symtab.h signame.h target.h ieee-float.h \
  6848. <   gdbcore.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h 
  6849. ---
  6850. >   inferior.h breakpoint.h value.h symtab.h signame.h target.h \
  6851. >   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h ieee-float.h gdbcore.h 
  6852. 175,176c177,178
  6853. <   breakpoint.h value.h symtab.h frame.h param.h target.h gdbcore.h \
  6854. <   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h 
  6855. ---
  6856. >   breakpoint.h value.h symtab.h frame.h param.h target.h ${srcdir}/../include/bfd.h \
  6857. >   ${srcdir}/../include/ansidecl.h gdbcore.h 
  6858. 200,202c202,205
  6859. < target.o : target.c defs.h target.h gdbcmd.h command.h symtab.h inferior.h \
  6860. <   breakpoint.h value.h frame.h param.h tm.h config.status param-no-tm.h xm.h config.status \
  6861. <   ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h symfile.h 
  6862. ---
  6863. > target.o : target.c defs.h target.h ${srcdir}/../include/bfd.h \
  6864. >   ${srcdir}/../include/ansidecl.h ${srcdir}/../include/obstack.h gdbcmd.h command.h symtab.h \
  6865. >   inferior.h breakpoint.h value.h frame.h param.h tm.h config.status param-no-tm.h xm.h config.status \
  6866. >   symfile.h 
  6867. 211c214
  6868. <   symtab.h expression.h target.h 
  6869. ---
  6870. >   symtab.h expression.h target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/ansidecl.h 
  6871. Only in gdb-4.0/gdb/doc: Makefile
  6872. Only in gdb-3.98/gdb/doc: gdb-all.aux
  6873. Only in gdb-3.98/gdb/doc: gdb-all.cp
  6874. Only in gdb-3.98/gdb/doc: gdb-all.dvi
  6875. Only in gdb-3.98/gdb/doc: gdb-all.fn
  6876. Only in gdb-3.98/gdb/doc: gdb-all.ky
  6877. Only in gdb-3.98/gdb/doc: gdb-all.log
  6878. Only in gdb-3.98/gdb/doc: gdb-all.pg
  6879. Only in gdb-4.0/gdb/doc: gdb-all.texi
  6880. Only in gdb-3.98/gdb/doc: gdb-all.texinfo
  6881. Only in gdb-3.98/gdb/doc: gdb-all.toc
  6882. Only in gdb-3.98/gdb/doc: gdb-all.tp
  6883. Only in gdb-3.98/gdb/doc: gdb-all.vr
  6884. diff -r gdb-3.98/gdb/doc/gdb.texinfo gdb-4.0/gdb/doc/gdb.texinfo
  6885. 1c1
  6886. < _dnl__                        -*-Texinfo-*-
  6887. ---
  6888. > _dnl__                                          -*-Texinfo-*-
  6889. 5c5
  6890. < @c $Id: gdb.texinfo,v 2.45 1991/08/01 00:02:27 pesch Exp $
  6891. ---
  6892. > @c $Id: gdb.texinfo,v 2.53 1991/08/24 00:43:23 pesch Exp $
  6893. 28c28
  6894. < \xdef\manvers{\$Revision: 2.45 $}  % For use in headers, footers too
  6895. ---
  6896. > \xdef\manvers{\$Revision: 2.53 $}  % For use in headers, footers too
  6897. 33c33
  6898. < @c Wed Jul 31 12:06:29 1991  John Gilmore  (gnu at cygint.cygnus.com)
  6899. ---
  6900. > @c Thu Aug 22 14:05:47 1991  Stu Grossman  (grossman at cygint.cygnus.com)
  6901. 125,146c125,147
  6902. < * Summary::            Summary of _GDBN__
  6903. < * New Features::        New Features in _GDBN__ version 4.0
  6904. < * Sample Session::        A Sample _GDBN__ Session
  6905. < * Invocation::            Getting In and Out of _GDBN__
  6906. < * Commands::            
  6907. < * Running::            Running Programs Under _GDBN__
  6908. < * Stopping::            Stopping and Continuing
  6909. < * Stack::            Examining the Stack
  6910. < * Source::            Examining Source Files
  6911. < * Data::            Examining Data
  6912. < * Symbols::            Examining the Symbol Table
  6913. < * Altering::            Altering Execution
  6914. < * _GDBN__ Files::        
  6915. < * Targets::            Specifying a Debugging Target 
  6916. < * Controlling _GDBN__::        Controlling _GDBN__
  6917. < * Sequences::            Canned Sequences of Commands
  6918. < * Emacs::            Using _GDBN__ under GNU Emacs
  6919. < * _GDBN__ Bugs::            Reporting Bugs in _GDBN__
  6920. < * Renamed Commands::        
  6921. < * Installing _GDBN__::        Installing _GDBN__
  6922. < * Copying::            GNU GENERAL PUBLIC LICENSE
  6923. < * Index::            Index
  6924. ---
  6925. > * Summary::                     Summary of _GDBN__
  6926. > * New Features::                New Features in _GDBN__ version 4.0
  6927. > * Sample Session::              A Sample _GDBN__ Session
  6928. > * Invocation::                  Getting In and Out of _GDBN__
  6929. > * Commands::                    
  6930. > * Running::                     Running Programs Under _GDBN__
  6931. > * Stopping::                    Stopping and Continuing
  6932. > * Stack::                       Examining the Stack
  6933. > * Source::                      Examining Source Files
  6934. > * Data::                        Examining Data
  6935. > * Cplusplus::                   C++ and _GDBN__
  6936. > * Symbols::                     Examining the Symbol Table
  6937. > * Altering::                    Altering Execution
  6938. > * _GDBN__ Files::               
  6939. > * Targets::                     Specifying a Debugging Target 
  6940. > * Controlling _GDBN__::         Controlling _GDBN__
  6941. > * Sequences::                   Canned Sequences of Commands
  6942. > * Emacs::                       Using _GDBN__ under GNU Emacs
  6943. > * _GDBN__ Bugs::                        Reporting Bugs in _GDBN__
  6944. > * Renamed Commands::            
  6945. > * Installing _GDBN__::          Installing _GDBN__
  6946. > * Copying::                     GNU GENERAL PUBLIC LICENSE
  6947. > * Index::                       Index
  6948. 151,152c152,153
  6949. < * Free Software::        Free Software
  6950. < * Contributors::        Contributors to _GDBN__
  6951. ---
  6952. > * Free Software::               Free Software
  6953. > * Contributors::                Contributors to _GDBN__
  6954. 156,158c157,159
  6955. < * Starting _GDBN__::        Starting _GDBN__
  6956. < * Leaving _GDBN__::            Leaving _GDBN__
  6957. < * Shell Commands::        Shell Commands
  6958. ---
  6959. > * Starting _GDBN__::            Starting _GDBN__
  6960. > * Leaving _GDBN__::                     Leaving _GDBN__
  6961. > * Shell Commands::              Shell Commands
  6962. 162,163c163,164
  6963. < * File Options::        Choosing Files
  6964. < * Mode Options::        Choosing Modes
  6965. ---
  6966. > * File Options::                Choosing Files
  6967. > * Mode Options::                Choosing Modes
  6968. 167,168c168,169
  6969. < * Command Syntax::        Command Syntax
  6970. < * Help::            Getting Help
  6971. ---
  6972. > * Command Syntax::              Command Syntax
  6973. > * Help::                        Getting Help
  6974. 172,179c173,180
  6975. < * Compilation::            Compiling for Debugging
  6976. < * Starting::            Starting your Program
  6977. < * Arguments::            Your Program's Arguments
  6978. < * Environment::            Your Program's Environment
  6979. < * Working Directory::        Your Program's Working Directory
  6980. < * Input/Output::        Your Program's Input and Output
  6981. < * Attach::            Debugging an Already-Running Process
  6982. < * Kill Process::        Killing the Child Process
  6983. ---
  6984. > * Compilation::                 Compiling for Debugging
  6985. > * Starting::                    Starting your Program
  6986. > * Arguments::                   Your Program's Arguments
  6987. > * Environment::                 Your Program's Environment
  6988. > * Working Directory::           Your Program's Working Directory
  6989. > * Input/Output::                Your Program's Input and Output
  6990. > * Attach::                      Debugging an Already-Running Process
  6991. > * Kill Process::                Killing the Child Process
  6992. 183,185c184,186
  6993. < * Breakpoints::            Breakpoints, Watchpoints, and Exceptions
  6994. < * Continuing and Stepping::    Resuming Execution
  6995. < * Signals::            Signals
  6996. ---
  6997. > * Breakpoints::                 Breakpoints, Watchpoints, and Exceptions
  6998. > * Continuing and Stepping::     Resuming Execution
  6999. > * Signals::                     Signals
  7000. 189,197c190,198
  7001. < * Set Breaks::            Setting Breakpoints
  7002. < * Set Watchpoints::        Setting Watchpoints
  7003. < * Exception Handling::        Breakpoints and Exceptions
  7004. < * Delete Breaks::        Deleting Breakpoints
  7005. < * Disabling::            Disabling Breakpoints
  7006. < * Conditions::            Break Conditions
  7007. < * Break Commands::        Breakpoint Command Lists
  7008. < * Breakpoint Menus::        Breakpoint Menus
  7009. < * Error in Breakpoints::    
  7010. ---
  7011. > * Set Breaks::                  Setting Breakpoints
  7012. > * Set Watchpoints::             Setting Watchpoints
  7013. > * Exception Handling::          Breakpoints and Exceptions
  7014. > * Delete Breaks::               Deleting Breakpoints
  7015. > * Disabling::                   Disabling Breakpoints
  7016. > * Conditions::                  Break Conditions
  7017. > * Break Commands::              Breakpoint Command Lists
  7018. > * Breakpoint Menus::            Breakpoint Menus
  7019. > * Error in Breakpoints::        
  7020. 201,204c202,205
  7021. < * Frames::            Stack Frames
  7022. < * Backtrace::            Backtraces
  7023. < * Selection::            Selecting a Frame
  7024. < * Frame Info::            Information on a Frame
  7025. ---
  7026. > * Frames::                      Stack Frames
  7027. > * Backtrace::                   Backtraces
  7028. > * Selection::                   Selecting a Frame
  7029. > * Frame Info::                  Information on a Frame
  7030. 208,211c209,212
  7031. < * List::            Printing Source Lines
  7032. < * Search::            Searching Source Files
  7033. < * Source Path::            Specifying Source Directories
  7034. < * Machine Code::        Source and Machine Code
  7035. ---
  7036. > * List::                        Printing Source Lines
  7037. > * Search::                      Searching Source Files
  7038. > * Source Path::                 Specifying Source Directories
  7039. > * Machine Code::                Source and Machine Code
  7040. 215,225c216,226
  7041. < * Expressions::            Expressions
  7042. < * Variables::            Program Variables
  7043. < * Arrays::            Artificial Arrays
  7044. < * Output formats::        Output formats
  7045. < * Memory::            Examining Memory
  7046. < * Auto Display::        Automatic Display
  7047. < * Print Settings::        Print Settings
  7048. < * Value History::        Value History
  7049. < * Convenience Vars::        Convenience Variables
  7050. < * Registers::            Registers
  7051. < * Floating Point Hardware::    Floating Point Hardware
  7052. ---
  7053. > * Expressions::                 Expressions
  7054. > * Variables::                   Program Variables
  7055. > * Arrays::                      Artificial Arrays
  7056. > * Output formats::              Output formats
  7057. > * Memory::                      Examining Memory
  7058. > * Auto Display::                Automatic Display
  7059. > * Print Settings::              Print Settings
  7060. > * Value History::               Value History
  7061. > * Convenience Vars::            Convenience Variables
  7062. > * Registers::                   Registers
  7063. > * Floating Point Hardware::     Floating Point Hardware
  7064. 229,233c230,234
  7065. < * Assignment::            Assignment to Variables
  7066. < * Jumping::            Continuing at a Different Address
  7067. < * Signaling::            Giving the Program a Signal
  7068. < * Returning::            Returning from a Function
  7069. < * Calling::            Calling your Program's Functions
  7070. ---
  7071. > * Assignment::                  Assignment to Variables
  7072. > * Jumping::                     Continuing at a Different Address
  7073. > * Signaling::                   Giving the Program a Signal
  7074. > * Returning::                   Returning from a Function
  7075. > * Calling::                     Calling your Program's Functions
  7076. 237,238c238,239
  7077. < * Files::            Commands to Specify Files
  7078. < * Symbol Errors::        Errors Reading Symbol Files
  7079. ---
  7080. > * Files::                       Commands to Specify Files
  7081. > * Symbol Errors::               Errors Reading Symbol Files
  7082. 242,244c243,245
  7083. < * Active Targets::        Active Targets
  7084. < * Target Commands::        Commands for Managing Targets
  7085. < * Remote::            Remote Debugging
  7086. ---
  7087. > * Active Targets::              Active Targets
  7088. > * Target Commands::             Commands for Managing Targets
  7089. > * Remote::                      Remote Debugging
  7090. 248,250c249,251
  7091. < * i960-Nindy Remote::        
  7092. < * EB29K Remote::        
  7093. < * VxWorks Remote::        
  7094. ---
  7095. > * i960-Nindy Remote::           
  7096. > * EB29K Remote::                
  7097. > * VxWorks Remote::              
  7098. 254,256c255,257
  7099. < * Nindy Startup::        Startup with Nindy
  7100. < * Nindy Options::        Options for Nindy
  7101. < * Nindy reset::            Nindy Reset Command
  7102. ---
  7103. > * Nindy Startup::               Startup with Nindy
  7104. > * Nindy Options::               Options for Nindy
  7105. > * Nindy reset::                 Nindy Reset Command
  7106. 260,262c261,263
  7107. < * Comms (EB29K)::        Communications Setup
  7108. < * gdb-EB29K::            EB29K cross-debugging
  7109. < * Remote Log::            Remote Log
  7110. ---
  7111. > * Comms (EB29K)::               Communications Setup
  7112. > * gdb-EB29K::                   EB29K cross-debugging
  7113. > * Remote Log::                  Remote Log
  7114. 266,268c267,269
  7115. < * VxWorks connection::        Connecting to VxWorks
  7116. < * VxWorks download::        VxWorks Download
  7117. < * VxWorks attach::        Running Tasks
  7118. ---
  7119. > * VxWorks connection::          Connecting to VxWorks
  7120. > * VxWorks download::            VxWorks Download
  7121. > * VxWorks attach::              Running Tasks
  7122. 272,277c273,278
  7123. < * Prompt::            Prompt
  7124. < * Editing::            Command Editing
  7125. < * History::            Command History
  7126. < * Screen Size::            Screen Size
  7127. < * Numbers::            Numbers
  7128. < * Messages/Warnings::        Optional Warnings and Messages
  7129. ---
  7130. > * Prompt::                      Prompt
  7131. > * Editing::                     Command Editing
  7132. > * History::                     Command History
  7133. > * Screen Size::                 Screen Size
  7134. > * Numbers::                     Numbers
  7135. > * Messages/Warnings::           Optional Warnings and Messages
  7136. 281,283c282,284
  7137. < * Define::            User-Defined Commands
  7138. < * Command Files::        Command Files
  7139. < * Output::            Commands for Controlled Output
  7140. ---
  7141. > * Define::                      User-Defined Commands
  7142. > * Command Files::               Command Files
  7143. > * Output::                      Commands for Controlled Output
  7144. 287,288c288,289
  7145. < * Bug Criteria::        Have You Found a Bug?
  7146. < * Bug Reporting::        How to Report Bugs
  7147. ---
  7148. > * Bug Criteria::                Have You Found a Bug?
  7149. > * Bug Reporting::               How to Report Bugs
  7150. 316c317
  7151. < _GDBN__ can be used to debug programs written in C and C++.  Pascal support
  7152. ---
  7153. > You can use _GDBN__ to debug programs written in C and C++.  Modula-2 support
  7154. 321,322c322,323
  7155. < * Free Software::        Free Software
  7156. < * Contributors::        Contributors to GDB
  7157. ---
  7158. > * Free Software::               Free Software
  7159. > * Contributors::                Contributors to GDB
  7160. 361,365c362,366
  7161. < particularly thank those who shepherded GDB through major releases:
  7162. < John Gilmore (release 4.0); Jim Kingdon (releases 3.9, 3.5, 3.4, 3.3);
  7163. < and Randy Smith (releases 3.2, 3.1, 3.0).  As major maintainer of GDB
  7164. < for some period, each contributed significantly to the structure,
  7165. < stability, and capabilities of the entire debugger.
  7166. ---
  7167. > particularly thank those who shepherded GDB through major releases: John
  7168. > Gilmore (release 4.0; happy birthday, John!); Jim Kingdon (releases
  7169. > 3.9, 3.5, 3.4, 3.3); and Randy Smith (releases 3.2, 3.1, 3.0).  As major
  7170. > maintainer of GDB for some period, each contributed significantly to the
  7171. > structure, stability, and capabilities of the entire debugger.
  7172. 415,418c416,423
  7173. < a serial port, realtime systems over a TCP/IP connection, etc.
  7174. < Internally, _GDBN__ now uses a function vector to mediate access to
  7175. < different targets; if you need to add your own support for a remote
  7176. < protocol, this makes it much easier.
  7177. ---
  7178. > a serial port, realtime systems over a TCP/IP connection, etc.  The
  7179. > command @code{load} can download programs into a remote system.  Serial
  7180. > stubs are available for Motorola 680x0 and Intel 80386 remote systems;
  7181. > _GDBN__ also supports debugging realtime processes running under
  7182. > VxWorks, using SunRPC Remote Procedure Calls over TCP/IP to talk to a
  7183. > debugger stub on the target system.  Internally, _GDBN__ now uses a
  7184. > function vector to mediate access to different targets; if you need to
  7185. > add your own support for a remote protocol, this makes it much easier.
  7186. 425a431,434
  7187. > @item Wide Output
  7188. > Commands that issue wide output now insert newlines at places designed
  7189. > to make the output more readable.
  7190. 427c436
  7191. < _GDBN__ uses a new scheme called the Binary File Descriptor (BFD)
  7192. ---
  7193. > _GDBN__ uses a new library called the Binary File Descriptor (BFD)
  7194. 435c444
  7195. < @item Configuration
  7196. ---
  7197. > @item Configuration and Ports
  7198. 439c448,449
  7199. < cross-debugger. 
  7200. ---
  7201. > cross-debugger. @xref{Installing _GDBN__} for details on how to
  7202. > configure and on what architectures are now available.
  7203. 449,452c459,464
  7204. < @item Source Language
  7205. < _GDBN__ now has limited support for C++ exception handling: _GDBN__ can
  7206. < break when an exception is raised, before the stack is peeled back to
  7207. < the exception handler's context.  
  7208. ---
  7209. > @item C++
  7210. > _GDBN__ now supports C++ multiple inheritance (if used with a GCC
  7211. > version 2 compiler), and also has limited support for C++ exception
  7212. > handling, with the commands @code{catch} and @code{info catch}: _GDBN__
  7213. > can break when an exception is raised, before the stack is peeled back
  7214. > to the exception handler's context.
  7215. 461,467d472
  7216. < @item Ports
  7217. < _GDBN__ has been ported to the following new architectures: AT&T 3b1,
  7218. < Acorn RISC machine, HP300 running HPUX, big- and little-endian MIPS
  7219. < machines, Motorola 88k, Sun 386i, and Sun 3 running SunOS 4.  In
  7220. < addition, the following are supported as targets only: AMD 29k, Intel
  7221. < 960, and Wind River's VxWorks.
  7222. 469c474,480
  7223. < _GDBN__ 4.0 supports SunOS shared libraries.
  7224. ---
  7225. > _GDBN__ 4.0 can debug programs and core files that use SunOS shared
  7226. > libraries.  You can load symbols from a shared library with the command
  7227. > @code{sharedlibrary} (@pxref{Files}).
  7228. > @item Reference Card
  7229. > _GDBN__ 4.0 has a reference card; @xref{Formatting Manual} for
  7230. > instructions on printing it.
  7231. 738,740c749,751
  7232. < * Starting _GDBN__::        Starting _GDBN__
  7233. < * Leaving _GDBN__::            Leaving _GDBN__
  7234. < * Shell Commands::        Shell Commands
  7235. ---
  7236. > * Starting _GDBN__::            Starting _GDBN__
  7237. > * Leaving _GDBN__::                     Leaving _GDBN__
  7238. > * Shell Commands::              Shell Commands
  7239. 760a772,780
  7240. > You can, instead, specify a process ID as a second argument, if you want
  7241. > to debug a running process:
  7242. > @example
  7243. > _GDBP__ program 1234
  7244. > @end example
  7245. > @noindent
  7246. > would attach _GDBN__ to process @code{1234} (unless you also have a file
  7247. > named @file{1234}; _GDBN__ does check for a core file first).
  7248. 776,777c796,797
  7249. < * File Options::        Choosing Files
  7250. < * Mode Options::        Choosing Modes
  7251. ---
  7252. > * File Options::                Choosing Files
  7253. > * Mode Options::                Choosing Modes
  7254. 942,943c962,963
  7255. < * Command Syntax::        Command Syntax
  7256. < * Help::            Getting Help
  7257. ---
  7258. > * Command Syntax::              Command Syntax
  7259. > * Help::                        Getting Help
  7260. 975a996,1001
  7261. > _GDBN__ can also use @key{RET} in another way: to partition lengthy
  7262. > output, in a way similar to the common utility @code{more}
  7263. > (@pxref{Screen Size}).  Since it's easy to press one @key{RET} too many
  7264. > in this situation, _GDBN__ disables command repetition after any command
  7265. > that generates this sort of display.
  7266. 1104,1111c1130,1137
  7267. < * Compilation::            Compiling for Debugging
  7268. < * Starting::            Starting your Program
  7269. < * Arguments::            Your Program's Arguments
  7270. < * Environment::            Your Program's Environment
  7271. < * Working Directory::        Your Program's Working Directory
  7272. < * Input/Output::        Your Program's Input and Output
  7273. < * Attach::            Debugging an Already-Running Process
  7274. < * Kill Process::        Killing the Child Process
  7275. ---
  7276. > * Compilation::                 Compiling for Debugging
  7277. > * Starting::                    Starting your Program
  7278. > * Arguments::                   Your Program's Arguments
  7279. > * Environment::                 Your Program's Environment
  7280. > * Working Directory::           Your Program's Working Directory
  7281. > * Input/Output::                Your Program's Input and Output
  7282. > * Attach::                      Debugging an Already-Running Process
  7283. > * Kill Process::                Killing the Child Process
  7284. 1514,1516c1540,1542
  7285. < * Breakpoints::            Breakpoints, Watchpoints, and Exceptions
  7286. < * Continuing and Stepping::    Resuming Execution
  7287. < * Signals::            Signals
  7288. ---
  7289. > * Breakpoints::                 Breakpoints, Watchpoints, and Exceptions
  7290. > * Continuing and Stepping::     Resuming Execution
  7291. > * Signals::                     Signals
  7292. 1547,1555c1573,1581
  7293. < * Set Breaks::            Setting Breakpoints
  7294. < * Set Watchpoints::        Setting Watchpoints
  7295. < * Exception Handling::        Breakpoints and Exceptions
  7296. < * Delete Breaks::        Deleting Breakpoints
  7297. < * Disabling::            Disabling Breakpoints
  7298. < * Conditions::            Break Conditions
  7299. < * Break Commands::        Breakpoint Command Lists
  7300. < * Breakpoint Menus::        Breakpoint Menus
  7301. < * Error in Breakpoints::    
  7302. ---
  7303. > * Set Breaks::                  Setting Breakpoints
  7304. > * Set Watchpoints::             Setting Watchpoints
  7305. > * Exception Handling::          Breakpoints and Exceptions
  7306. > * Delete Breaks::               Deleting Breakpoints
  7307. > * Disabling::                   Disabling Breakpoints
  7308. > * Conditions::                  Break Conditions
  7309. > * Break Commands::              Breakpoint Command Lists
  7310. > * Breakpoint Menus::            Breakpoint Menus
  7311. > * Error in Breakpoints::        
  7312. 1634d1659
  7313. < @c FIXME: 2nd sentence below C++ only?
  7314. 1636,1637c1661
  7315. < @var{regex}.  This is useful for setting breakpoints on overloaded
  7316. < functions that are not members of any special classes.  This command
  7317. ---
  7318. > @var{regex}.  This command
  7319. 1642a1667,1670
  7320. > When debugging C++ programs, @code{rbreak} is useful for setting
  7321. > breakpoints on overloaded functions that are not members of any special
  7322. > classes.
  7323. 1689,1690c1717,1718
  7324. < Some languages, such as GNU C++, implement exception handling.  _GDBN__
  7325. < can be used to examine what caused the program to raise an exception
  7326. ---
  7327. > Some languages, such as GNU C++, implement exception handling.  You can
  7328. > use _GDBN__ to examine what caused the program to raise an exception,
  7329. 1731c1759
  7330. < knowledge of the implementation.  In the case of GNU C++ exceptions are
  7331. ---
  7332. > knowledge of the implementation.  In the case of GNU C++, exceptions are
  7333. 1736c1764
  7334. <     /* ADDR is where the exception identifier is stored.
  7335. ---
  7336. >     /* @var{addr} is where the exception identifier is stored.
  7337. 2077,2078c2105,2106
  7338. < @cindex C++ overloading
  7339. < @cindex symbol overloading
  7340. ---
  7341. > @cindex overloading
  7342. > @cindex symbol overloading 
  7343. 2252c2280
  7344. < 206            expand_input();
  7345. ---
  7346. > 206                 expand_input();
  7347. 2254c2282
  7348. < 195        for ( ; argc > 0; NEXTARG) @{
  7349. ---
  7350. > 195             for ( ; argc > 0; NEXTARG) @{
  7351. 2420,2423c2448,2451
  7352. < * Frames::            Stack Frames
  7353. < * Backtrace::            Backtraces
  7354. < * Selection::            Selecting a Frame
  7355. < * Frame Info::            Information on a Frame
  7356. ---
  7357. > * Frames::                      Stack Frames
  7358. > * Backtrace::                   Backtraces
  7359. > * Selection::                   Selecting a Frame
  7360. > * Frame Info::                  Information on a Frame
  7361. 2682,2685c2710,2713
  7362. < * List::            Printing Source Lines
  7363. < * Search::            Searching Source Files
  7364. < * Source Path::            Specifying Source Directories
  7365. < * Machine Code::        Source and Machine Code
  7366. ---
  7367. > * List::                        Printing Source Lines
  7368. > * Search::                      Searching Source Files
  7369. > * Source Path::                 Specifying Source Directories
  7370. > * Machine Code::                Source and Machine Code
  7371. 2940,2947c2968,2975
  7372. < 0x63e4 <builtin_init+5340>:    ble 0x63f8 <builtin_init+5360>
  7373. < 0x63e8 <builtin_init+5344>:    sethi %hi(0x4c00), %o0
  7374. < 0x63ec <builtin_init+5348>:    ld [%i1+4], %o0
  7375. < 0x63f0 <builtin_init+5352>:    b 0x63fc <builtin_init+5364>
  7376. < 0x63f4 <builtin_init+5356>:    ld [%o0+4], %o0
  7377. < 0x63f8 <builtin_init+5360>:    or %o0, 0x1a4, %o0
  7378. < 0x63fc <builtin_init+5364>:    call 0x9288 <path_search>
  7379. < 0x6400 <builtin_init+5368>:    nop 
  7380. ---
  7381. > 0x63e4 <builtin_init+5340>:     ble 0x63f8 <builtin_init+5360>
  7382. > 0x63e8 <builtin_init+5344>:     sethi %hi(0x4c00), %o0
  7383. > 0x63ec <builtin_init+5348>:     ld [%i1+4], %o0
  7384. > 0x63f0 <builtin_init+5352>:     b 0x63fc <builtin_init+5364>
  7385. > 0x63f4 <builtin_init+5356>:     ld [%o0+4], %o0
  7386. > 0x63f8 <builtin_init+5360>:     or %o0, 0x1a4, %o0
  7387. > 0x63fc <builtin_init+5364>:     call 0x9288 <path_search>
  7388. > 0x6400 <builtin_init+5368>:     nop 
  7389. 2953c2981
  7390. < @node Data, Symbols, Source, Top
  7391. ---
  7392. > @node Data, Cplusplus, Source, Top
  7393. 2965,2966c2993,2994
  7394. < evaluates and prints the value of any valid expression of the language
  7395. < the program is written in (for now, C or C++).  You type
  7396. ---
  7397. > evaluates and prints the value of an expression of the language your
  7398. > program is written in (for now, C or C++).  You type
  7399. 2973c3001
  7400. < where @var{exp} is any valid expression (in the source language), and
  7401. ---
  7402. > where @var{exp} is an expression (in the source language), and
  7403. 2980a3009,3012
  7404. > If you're interested in information about types, or about how the fields
  7405. > of a struct or class are declared, use the @code{ptype @var{exp}}
  7406. > command rather than @code{print}. @xref{Symbols}.
  7407. 2982,2992c3014,3024
  7408. < * Expressions::            Expressions
  7409. < * Variables::            Program Variables
  7410. < * Arrays::            Artificial Arrays
  7411. < * Output formats::        Output formats
  7412. < * Memory::            Examining Memory
  7413. < * Auto Display::        Automatic Display
  7414. < * Print Settings::        Print Settings
  7415. < * Value History::        Value History
  7416. < * Convenience Vars::        Convenience Variables
  7417. < * Registers::            Registers
  7418. < * Floating Point Hardware::    Floating Point Hardware
  7419. ---
  7420. > * Expressions::                 Expressions
  7421. > * Variables::                   Program Variables
  7422. > * Arrays::                      Artificial Arrays
  7423. > * Output formats::              Output formats
  7424. > * Memory::                      Examining Memory
  7425. > * Auto Display::                Automatic Display
  7426. > * Print Settings::              Print Settings
  7427. > * Value History::               Value History
  7428. > * Convenience Vars::            Convenience Variables
  7429. > * Registers::                   Registers
  7430. > * Floating Point Hardware::     Floating Point Hardware
  7431. 3004,3007c3036
  7432. < by preprocessor @code{#define} commands, or C++ expressions involving
  7433. < @samp{::}, the name resolution operator.
  7434. < @c FIXME: actually C++ a::b works except in obscure circumstances where it
  7435. < @c FIXME...can conflict with GDB's own name scope resolution.
  7436. ---
  7437. > by preprocessor @code{#define} commands.
  7438. 3476c3505
  7439. < 530        if (lquote != def_lquote)
  7440. ---
  7441. > 530         if (lquote != def_lquote)
  7442. 3486c3515
  7443. < 530        if (lquote != def_lquote)
  7444. ---
  7445. > 530         if (lquote != def_lquote)
  7446. 3812c3841
  7447. < Machine register contents can be referred to in expressions as variables
  7448. ---
  7449. > You can refer to machine register contents, in expressions, as variables
  7450. 3820c3849,3856
  7451. < Print the names and values of all registers (in the selected stack frame).
  7452. ---
  7453. > Print the names and values of all registers except floating-point
  7454. > registers (in the selected stack frame).
  7455. > @item info all-registers
  7456. > @kindex info all-registers
  7457. > @cindex floating point registers
  7458. > Print the names and values of all registers, including floating-point
  7459. > registers.
  7460. 3911c3947,4073
  7461. < @node Symbols, Altering, Data, Top
  7462. ---
  7463. > @node Cplusplus, Symbols, Data, Top
  7464. > @chapter C++ and _GDBN__
  7465. > @cindex C++
  7466. > @kindex g++
  7467. > @cindex GNU C++
  7468. > _GDBN__ includes facilities to let you debug C++ programs naturally and
  7469. > easily.  The GNU C++ compiler and _GDBN__ implement the support for these
  7470. > facilities together.  Therefore, to debug your C++ code most
  7471. > effectively, you must compile your C++ programs with the GNU C++
  7472. > compiler, @code{g++}.
  7473. > @menu
  7474. > * Cplusplus expressions::               C++ Expressions
  7475. > * Cplusplus commands::          _GDBN__ Commands for C++
  7476. > @end menu
  7477. > @node Cplusplus expressions, Cplusplus commands, Cplusplus, Cplusplus
  7478. > @section C++ Expressions
  7479. > @cindex expressions in C++
  7480. > Since C++ is closely related to C, all the facilities for evaluating C
  7481. > expressions (@pxref{Expressions}) continue to work in C++.  _GDBN__'s
  7482. > expression handling also has the following extensions to interpret a
  7483. > significant subset of C++ expressions: 
  7484. > @enumerate
  7485. > @cindex member functions
  7486. > @item 
  7487. > Member function calls are allowed; you can use expressions like
  7488. > @example
  7489. > count = aml->GetOriginal(x, y)
  7490. > @end example
  7491. > @kindex this
  7492. > @cindex namespace in C++
  7493. > @item 
  7494. > While a member function is active (in the selected stack frame), your
  7495. > expressions have the same namespace available as the member function;
  7496. > that is, _GDBN__ allows implicit references to the class instance
  7497. > pointer @code{this} following the same rules as C++.
  7498. > @cindex call overloaded functions
  7499. > @cindex type conversions in C++
  7500. > @item 
  7501. > You can call overloaded functions; _GDBN__ will resolve the function
  7502. > call to the right definition, with one restriction---you must use
  7503. > arguments of the type required by the function that you want to call.
  7504. > _GDBN__ will not perform conversions requiring constructors or
  7505. > user-defined type operators.
  7506. > @cindex reference declarations
  7507. > @item
  7508. > _GDBN__ understands variables declared as C++ references; you can use them in
  7509. > expressions just as you do in C++ source---they are automatically
  7510. > dereferenced.  
  7511. > In the parameter list shown when _GDBN__ displays a frame, the values of
  7512. > reference variables are not displayed (unlike other variables); this
  7513. > avoids clutter, since references are often used for large structures.
  7514. > The @emph{address} of a reference variable is always shown, unless
  7515. > you've specified @samp{set print address off}.
  7516. > @item
  7517. > _GDBN__ supports the C++ name resolution operator @code{::}---your
  7518. > expressions can use it just as expressions in your program do.  _GDBN__
  7519. > also allows resolving name scope by reference to source files, in both C
  7520. > and C++ debugging; @pxref{Variables}.
  7521. > @end enumerate
  7522. > @node Cplusplus commands, , Cplusplus expressions, Cplusplus
  7523. > @section _GDBN__ Commands for C++
  7524. > @cindex commands for C++
  7525. > Some _GDBN__ commands are particularly useful with C++, and some are
  7526. > designed specifically for use with C++.  Here is a summary:
  7527. > @table @code
  7528. > @cindex break in overloaded functions
  7529. > @item @r{breakpoint menus}
  7530. > When you want a breakpoint in a function whose name is overloaded,
  7531. > _GDBN__'s breakpoint menus help you specify which function definition
  7532. > you want.  @xref{Breakpoint Menus}.
  7533. > @cindex overloading in C++
  7534. > @item rbreak @var{regex}
  7535. > Setting breakpoints using regular expressions is helpful for setting
  7536. > breakpoints on overloaded functions that are not members of any special
  7537. > classes. 
  7538. > @xref{Set Breaks}.
  7539. > @cindex C++ exception handling
  7540. > @item catch @var{exceptions}
  7541. > @itemx info catch
  7542. > Debug C++ exception handling using these commands.  @xref{Exception Handling}.
  7543. > @cindex inheritance 
  7544. > @item ptype @var{typename}
  7545. > Print inheritance relationships as well as other information for type
  7546. > @var{typename}. 
  7547. > @xref{Symbols}.
  7548. > @cindex C++ symbol display
  7549. > @item set print demangle
  7550. > @itemx show print demangle
  7551. > @itemx set print asm-demangle
  7552. > @itemx show print asm-demangle
  7553. > Control whether C++ symbols display in their source form, both when
  7554. > displaying code as C++ source and when displaying disassemblies.
  7555. > @xref{Print Settings}.
  7556. > @item set print object
  7557. > @itemx show print object
  7558. > Choose whether to print derived (actual) or declared types of objects. 
  7559. > @xref{Print Settings}.
  7560. > @item set print vtbl
  7561. > @itemx show print vtbl
  7562. > Control the format for printing virtual function tables.
  7563. > @xref{Print Settings}.
  7564. > @end table
  7565. > @node Symbols, Altering, Cplusplus, Top
  7566. 3993,3996c4155,4156
  7567. < debugging information, organized into two lists: those for which symbols
  7568. < have been read in, and those for which symbols will be read in on
  7569. < demand.
  7570. < @c FIXME: above passive AND awkward!
  7571. ---
  7572. > debugging information, organized into two lists: files whose symbols
  7573. > have already been read, and files whose symbols will be read when needed.
  7574. 4036,4037c4196,4202
  7575. < Write a complete dump of the debugger's symbol data into the
  7576. < file @var{filename}.
  7577. ---
  7578. > Write a dump of debugging symbol data into the file
  7579. > @var{filename}.  Only symbols with debugging data are included.  _GDBN__
  7580. > includes all the symbols it already knows about: that is, @var{filename}
  7581. > reflects symbols for only those files whose symbols _GDBN__ has read.
  7582. > You can find out which files these are using the command @code{info
  7583. > files}.  The description of @code{symbol-file} describes how _GDBN__
  7584. > reads symbols; both commands are described under @ref{Files}.
  7585. 4054,4058c4219,4223
  7586. < * Assignment::            Assignment to Variables
  7587. < * Jumping::            Continuing at a Different Address
  7588. < * Signaling::            Giving the Program a Signal
  7589. < * Returning::            Returning from a Function
  7590. < * Calling::            Calling your Program's Functions
  7591. ---
  7592. > * Assignment::                  Assignment to Variables
  7593. > * Jumping::                     Continuing at a Different Address
  7594. > * Signaling::                   Giving the Program a Signal
  7595. > * Returning::                   Returning from a Function
  7596. > * Calling::                     Calling your Program's Functions
  7597. 4248,4249c4413,4414
  7598. < * Files::            Commands to Specify Files
  7599. < * Symbol Errors::        Errors Reading Symbol Files
  7600. ---
  7601. > * Files::                       Commands to Specify Files
  7602. > * Symbol Errors::               Errors Reading Symbol Files
  7603. 4385c4550
  7604. < from the file @var{filename}.  You would use this command when that file
  7605. ---
  7606. > from the file @var{filename}.  You would use this command when @var{filename}
  7607. 4448c4613
  7608. < While a symbol file is being read, _GDBN__ will occasionally encounter
  7609. ---
  7610. > While reading a symbol file, _GDBN__ will occasionally encounter
  7611. 4450,4454c4615,4622
  7612. < compiler output.  By default, it prints one message about each such
  7613. < type of problem, no matter how many times the problem occurs.  You can
  7614. < ask it to print more messages, to see how many times the problems occur,
  7615. < or can shut the messages off entirely, with the @code{set 
  7616. < complaints} command (@xref{Messages/Warnings}).
  7617. ---
  7618. > compiler output.  By default, _GDBN__ does not notify you of such
  7619. > problems, since they're relatively common and primarily of interest to
  7620. > people debugging compilers.  If you are interested in seeing information
  7621. > about ill-constructed symbol tables, you can either ask _GDBN__ to print
  7622. > only one message about each such type of problem, no matter how many
  7623. > times the problem occurs; or you can ask _GDBN__ to print more messages,
  7624. > to see how many times the problems occur, with the @code{set complaints}
  7625. > command (@xref{Messages/Warnings}).
  7626. 4491,4499d4658
  7627. < @c @item{encountered DBX-style class variable debugging information.
  7628. < @c You seem to have compiled your program with "g++ -g0" instead of "g++ -g".
  7629. < @c Therefore _GDBN__ will not know about your class variables}
  7630. < @c 
  7631. < @c This error indicates that the symbol information produced for a C++
  7632. < @c program includes zero-size fields, which indicated static fields in
  7633. < @c a previous release of the G++ compiler.  This message is probably
  7634. < @c obsolete.
  7635. < @c
  7636. 4557,4559c4716,4718
  7637. < * Active Targets::        Active Targets
  7638. < * Target Commands::        Commands for Managing Targets
  7639. < * Remote::            Remote Debugging
  7640. ---
  7641. > * Active Targets::              Active Targets
  7642. > * Target Commands::             Commands for Managing Targets
  7643. > * Remote::                      Remote Debugging
  7644. 4738,4743c4897,4902
  7645. < * Prompt::            Prompt
  7646. < * Editing::            Command Editing
  7647. < * History::            Command History
  7648. < * Screen Size::            Screen Size
  7649. < * Numbers::            Numbers
  7650. < * Messages/Warnings::        Optional Warnings and Messages
  7651. ---
  7652. > * Prompt::                      Prompt
  7653. > * Editing::                     Command Editing
  7654. > * History::                     Command History
  7655. > * Screen Size::                 Screen Size
  7656. > * Numbers::                     Numbers
  7657. > * Messages/Warnings::           Optional Warnings and Messages
  7658. 4957c5116
  7659. < @node Messages/Warnings,  , Numbers, Controlling _GDBN__
  7660. ---
  7661. > @node Messages/Warnings, , Numbers, Controlling _GDBN__
  7662. 4988,4991c5147,5149
  7663. < By default, if _GDBN__ encounters bugs in the symbol table of an object file,
  7664. < it prints a single message about each type of problem it finds, then 
  7665. < shuts up (@pxref{Symbol Errors}).  You can suppress these messages, or allow more than one such
  7666. < message to be printed if you want to see how frequent the problems are.
  7667. ---
  7668. > By default, if _GDBN__ encounters bugs in the symbol table of an object
  7669. > file, it is silent; but if you are debugging a compiler, you may find
  7670. > this information useful (@pxref{Symbol Errors}).  
  7671. 5033a5192,5219
  7672. > @c FIXME this doesn't really belong here.  But where *does* it belong?
  7673. > @cindex reloading symbols
  7674. > Some systems allow individual object files that make up your program to
  7675. > be replaced without stopping and restarting your program.
  7676. > _if__(_VXWORKS__)
  7677. > For example, in VxWorks you can simply recompile a defective object file
  7678. > and keep on running.
  7679. > _fi__(_VXWORKS__)
  7680. > If you're running on one of these systems, you can allow _GDBN__ to
  7681. > reload the symbols for automatically relinked modules:@refill
  7682. > @table @code
  7683. > @kindex set symbol-reloading
  7684. > @item set symbol-reloading on
  7685. > Replace symbol definitions for the corresponding source file when an
  7686. > object file with a particular name is seen again.
  7687. > @item set symbol-reloading off
  7688. > Don't replace symbol definitions when re-encountering object files of
  7689. > the same name.  This is the default state; if you're not running on a
  7690. > system that permits automatically relinking modules, you should leave
  7691. > @code{symbol-reloading} off, since otherwise _GDBN__ may discard symbols
  7692. > when linking large programs, that may contain several modules (from
  7693. > different directories or libraries) with the same name.
  7694. > @item show symbol-reloading
  7695. > Show the current @code{on} or @code{off} setting.
  7696. > @end table
  7697. 5042,5044c5228,5230
  7698. < * Define::            User-Defined Commands
  7699. < * Command Files::        Command Files
  7700. < * Output::            Commands for Controlled Output
  7701. ---
  7702. > * Define::                      User-Defined Commands
  7703. > * Command Files::               Command Files
  7704. > * Output::                      Commands for Controlled Output
  7705. 5392,5393c5578,5579
  7706. < * Bug Criteria::        Have You Found a Bug?
  7707. < * Bug Reporting::        How to Report Bugs
  7708. ---
  7709. > * Bug Criteria::                Have You Found a Bug?
  7710. > * Bug Reporting::               How to Report Bugs
  7711. 5597c5783
  7712. < @include rdl-apps.texinfo
  7713. ---
  7714. > @include rdl-apps.texi
  7715. 5716,5718c5902,5904
  7716. < _GDBN__ is distributed with a @code{configure} script that automates the
  7717. < process of preparing _GDBN__ for installation; you can then use
  7718. < @code{make} to build the @code{_GDBP__} program.
  7719. ---
  7720. > _GDBN__ comes with a @code{configure} script that automates the process
  7721. > of preparing _GDBN__ for installation; you can then use @code{make} to
  7722. > build the @code{_GDBP__} program.
  7723. 5720,5732c5906,5909
  7724. < The @code{configure} script that's specific to _GDBN__ is distributed in
  7725. < the main _GDBN__ source directory.  However, building _GDBN__ also
  7726. < requires several other directories of source common to multiple @sc{gnu}
  7727. < programs.  These directories (@sc{gnu} libraries and includes) are
  7728. < distributed separately, but their @code{configure} scripts and
  7729. < @code{Makefile}s are designed to work together.  To ensure that
  7730. < _GDBN__'s @code{Makefile} can find all the pieces, you should make a
  7731. < single overall directory to hold the directories of source for @sc{gnu}
  7732. < libraries and includes, and you should install the _GDBN__ source
  7733. < directory there too.  In this Appendix, we refer to the directory of
  7734. < @sc{gnu} source directories as @var{gnusrc}.
  7735. < At a minimum, to build _GDBN__ you need the directories
  7736. ---
  7737. > The _GDBP__ distribution includes all the source code you need for
  7738. > _GDBP__ in a single directory @file{gdb-4.0}.  That directory in turn
  7739. > contains: 
  7740. 5734c5911,5914
  7741. < @item @var{gnusrc}/gdb
  7742. ---
  7743. > @item gdb-4.0/configure
  7744. > Overall script for configuring _GDBN__ and all its supporting libraries.
  7745. > @item gdb-4.0/gdb
  7746. 5737c5917
  7747. < @item @var{gnusrc}/bfd
  7748. ---
  7749. > @item gdb-4.0/bfd
  7750. 5740,5741c5920,5921
  7751. < @item @var{gnusrc}/include
  7752. < @sc{gnu} include files
  7753. ---
  7754. > @item gdb-4.0/include
  7755. > GNU include files
  7756. 5743c5923
  7757. < @item @var{gnusrc}/libiberty
  7758. ---
  7759. > @item gdb-4.0/libiberty
  7760. 5746,5747c5926,5927
  7761. < @item @var{gnusrc}/readline
  7762. < source for the @sc{gnu} command-line interface
  7763. ---
  7764. > @item gdb-4.0/readline
  7765. > source for the GNU command-line interface
  7766. 5750,5756c5930,5935
  7767. < Each of these directories has its own @code{configure} script.
  7768. < @var{gnusrc} has an overall @code{configure} script, which is
  7769. < distributed with the @sc{gnu} libraries and includes.
  7770. < @code{configure} is designed to be called recursively, so it is most
  7771. < convenient to run @code{configure} from the @var{gnusrc} directory. 
  7772. < The simplest way to configure and build _GDBN__ is the following:
  7773. ---
  7774. > Each of these directories has its own @code{configure} script, which are
  7775. > used by the overall @code{configure} script in @file{gdb-4.0}.
  7776. > It is most convenient to run @code{configure} from the @file{gdb-4.0}
  7777. > directory.  The simplest way to configure and build _GDBN__ is the
  7778. > following:
  7779. 5758c5937
  7780. < cd @var{gnusrc}
  7781. ---
  7782. > cd gdb-4.0
  7783. 5763c5942
  7784. < where @var{host} is something like @samp{sun4} or @samp{vax}, that
  7785. ---
  7786. > where @var{host} is something like @samp{sun4} or @samp{decstation}, that
  7787. 5776,5778c5955,5958
  7788. < * Subdirectories::        Configuration subdirectories
  7789. < * configure Options::        Summary of options for configure
  7790. < * Formatting Manual::        How to format and print this manual
  7791. ---
  7792. > * Subdirectories::              Configuration subdirectories
  7793. > * Config Names::                Specifying names for hosts and targets
  7794. > * configure Options::           Summary of options for configure
  7795. > * Formatting Manual::          How to format and print _GDBN__ documentation
  7796. 5782c5962
  7797. < @node Subdirectories, configure Options, Installing _GDBN__, Installing _GDBN__
  7798. ---
  7799. > @node Subdirectories, Config Names, Installing _GDBN__, Installing _GDBN__
  7800. 5784,5792c5964,5976
  7801. < If you build _GDBN__ for several host or target machines, and if
  7802. < your @code{make} program handles the @samp{VPATH} feature
  7803. < (@sc{gnu} @code{make} does), it is most convenient instead to build
  7804. < the different _GDBN__ configurations in subdirectories (separate from
  7805. < the source).  @code{configure} does this for you when you simultaneously
  7806. < specify several configurations; but it's a good habit even for a single
  7807. < configuration.  You can specify the use of subdirectories using the
  7808. < @samp{+forcesubdirs} option (abbreviated @samp{+f}).  For example, you
  7809. < can build _GDBN__ on a Sun 4 as follows:
  7810. ---
  7811. > If you want to run _GDBN__ versions for several host or target machines,
  7812. > you'll need a different _GDBP__ compiled for each combination of host
  7813. > and target.  @code{configure} is designed to make this easy by allowing
  7814. > you to generate each configuration in a separate subdirectory.  If your
  7815. > @code{make} program handles the @samp{VPATH} feature (GNU @code{make}
  7816. > does), running @code{make} in each of these directories then builds the
  7817. > _GDBP__ program specified there.
  7818. > @code{configure} creates these subdirectories for you when you
  7819. > simultaneously specify several configurations; but it's a good habit
  7820. > even for a single configuration.  You can specify the use of
  7821. > subdirectories using the @samp{+subdirs} option (abbreviated
  7822. > @samp{+sub}).  For example, you can build _GDBN__ on a Sun 4 as follows:
  7823. 5796,5798c5980,5982
  7824. < cd @var{gnusrc}
  7825. < ./configure +f sun4
  7826. < cd Host-sun4/Target-sun4
  7827. ---
  7828. > cd gdb-4.0
  7829. > ./configure +sub sun4
  7830. > cd Host-sparc-sun-sunos4/Target-sparc-sun-sunos4
  7831. 5805,5814c5989,6002
  7832. < @file{Host-@var{host}/Target-@var{machine}}.  This is because _GDBN__
  7833. < can be configured for cross-compiling: _GDBN__ can run on one machine
  7834. < (the host) while debugging programs that run on another machine (the
  7835. < target).  You specify cross-debugging targets by giving the
  7836. < @samp{+target=@var{machine}} option to @code{configure}.  Specifying
  7837. < only hosts still gives you two levels of subdirectory for each host,
  7838. < with the same machine-name suffix on both.  On the other hand, whenever
  7839. < you specify both hosts and targets on the same command line,
  7840. < @code{configure} creates all combinations of the hosts and targets you
  7841. < list.@refill
  7842. ---
  7843. > @file{Host-@var{host}/Target-@var{target}}.  (As you see in the example,
  7844. > the names used for @var{host} and @var{target} may be expanded from your
  7845. > @code{configure} argument; @pxref{Config Names}). @code{configure} uses
  7846. > these two directory levels because _GDBN__ can be configured for
  7847. > cross-compiling: _GDBN__ can run on one machine (the host) while
  7848. > debugging programs that run on another machine (the target).  You
  7849. > specify cross-debugging targets by giving the
  7850. > @samp{+target=@var{target}} option to @code{configure}.  Specifying only
  7851. > hosts still gives you two levels of subdirectory for each host, with the
  7852. > same configuration suffix on both; that is, if you give any number of
  7853. > hosts but no targets, _GDBN__ will be configured for native debugging on
  7854. > each host.  On the other hand, whenever you specify both hosts and
  7855. > targets on the same command line, @code{configure} creates all
  7856. > combinations of the hosts and targets you list.@refill
  7857. 5819c6007
  7858. < If you have @file{Host-@var{host}/Target-@var{machine}} subdirectories,
  7859. ---
  7860. > If you have @file{Host-@var{host}/Target-@var{target}} subdirectories,
  7861. 5823,5824c6011,6012
  7862. < runs recursively, so that typing @code{make} in @var{gnusrc} (or in a
  7863. < @file{@var{gnusrc}/Host-@var{host}/Target-@var{machine}} subdirectory)
  7864. ---
  7865. > runs recursively, so that typing @code{make} in @file{gdb-4.0} (or in a
  7866. > @file{gdb-4.0/Host-@var{host}/Target-@var{target}} subdirectory)
  7867. 5827c6015
  7868. < If you run @code{configure} from a directory (such as @var{gnusrc}) that
  7869. ---
  7870. > If you run @code{configure} from a directory (such as @file{gdb-4.0}) that
  7871. 5829c6017
  7872. < @code{configure} creates the @file{Host-@var{host}/Target-@var{machine}}
  7873. ---
  7874. > @code{configure} creates the @file{Host-@var{host}/Target-@var{target}}
  7875. 5833,5834c6021,6022
  7876. < cd @var{gnusrc}
  7877. < configure sun4 +target=vx960
  7878. ---
  7879. > cd gdb-4.0
  7880. > configure sun4 +target=vxworks960
  7881. 5838,5849c6026,6044
  7882. < @example
  7883. < @var{gnusrc}/Host-sun4/Target-vx960
  7884. < @var{gnusrc}/bfd/Host-sun4/Target-vx960
  7885. < @var{gnusrc}/gdb/Host-sun4/Target-vx960
  7886. < @var{gnusrc}/libiberty/Host-sun4/Target-vx960
  7887. < @var{gnusrc}/readline/Host-sun4/Target-vx960
  7888. < @end example
  7889. < @noindent
  7890. < The @code{Makefile} in @file{@var{gnusrc}/Host-sun4/Target-vx960}
  7891. < will @code{cd} to the appropriate lower-level directories
  7892. < (such as @file{@var{gnusrc}/bfd/Host-sun4/Target-vx960}), building each
  7893. < in turn.
  7894. ---
  7895. > @smallexample
  7896. > gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  7897. > gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  7898. > gdb-4.0/gdb/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  7899. > gdb-4.0/libiberty/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  7900. > gdb-4.0/readline/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  7901. > @end smallexample
  7902. > @noindent
  7903. > The @code{Makefile} in
  7904. > @smallexample
  7905. > gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  7906. > @end smallexample
  7907. > @noindent
  7908. > will @code{cd} to the appropriate lower-level directories, for example:
  7909. > @smallexample
  7910. > gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  7911. > @end smallexample
  7912. > @noindent
  7913. > building each in turn.
  7914. 5855c6050,6177
  7915. < @node configure Options, Formatting Manual, Subdirectories, Installing _GDBN__
  7916. ---
  7917. > @node Config Names, configure Options, Subdirectories, Installing _GDBN__
  7918. > @section Specifying Names for Hosts and Targets
  7919. > The specifications used for hosts and targets in the @code{configure}
  7920. > script are based on a three-part naming scheme, but some short predefined
  7921. > aliases are also supported.  The full naming scheme encodes three pieces
  7922. > of information in the following pattern: 
  7923. > @example
  7924. > @var{architecture}-@var{vendor}-@var{os}
  7925. > @end example
  7926. > For example, you can use the alias @code{sun4} as a @var{host} argument
  7927. > or in a @code{+target=}@var{target} option, but the full name of that
  7928. > configuration specifies that the architecture is @samp{sparc}, the
  7929. > vendor is @samp{sun}, and the operating system is @samp{sunos4}.
  7930. > @iftex
  7931. > @c I know this is ugly, but @group is useless except in examples now...
  7932. > @c (using texinfo 2.52 or so)
  7933. > @page
  7934. > @end iftex
  7935. > The following table shows all the architectures, hosts, and OS prefixes
  7936. > that @code{configure} recognizes in _GDBN__ 4.0.  Entries in the ``OS
  7937. > prefix'' column ending in a @samp{*} may be followed by a release number.
  7938. > @ifinfo
  7939. > @example
  7940. > ARCHITECTURE  VENDOR        OS prefix
  7941. > ------------+-------------+-------------
  7942. >             |             |
  7943. >  a29k       | altos       | aix*
  7944. >  alliant    | aout        | aout
  7945. >  arm        | apollo      | bout
  7946. >  c1         | att         | bsd*
  7947. >  c2         | bout        | coff
  7948. >  i386       | coff        | ctix*
  7949. >  i860       | convergent  | dynix*
  7950. >  i960       | convex      | esix*
  7951. >  m68000     | dec         | hpux*
  7952. >  m68k       | encore      | isc*
  7953. >  m88k       | gould       | mach*
  7954. >  mips       | hp          | newsos*
  7955. >  ns32k      | ibm         | nindy*
  7956. >  pyramid    | intel       | none
  7957. >  rs6000     | isi         | osf*
  7958. >  rtpc       | little      | sco*    
  7959. >  sparc      | mips        | sunos*  
  7960. >  tahoe      | motorola    | sysv*   
  7961. >  tron       | ncr         | ultrix* 
  7962. >  vax        | next        | unos*   
  7963. >             | none        | v88r*   
  7964. >             | sco         | vms*    
  7965. >             | sequent     | vxworks*
  7966. >             | sgi         | 
  7967. >             | sony        |
  7968. >             | sun         |
  7969. >             | unicom      |
  7970. >             | utek        |
  7971. >             | wrs         |
  7972. > @end example
  7973. > @end ifinfo
  7974. > @tex
  7975. > \vskip \parskip\vskip \baselineskip
  7976. > \halign{\hskip\parindent\tt #\hfil &\qquad#&\tt #\hfil &\qquad#&\tt #\hfil\cr
  7977. > {\bf Architecture} &&{\bf Vendor} &&{\bf OS prefix}\cr
  7978. > \noalign{\hrule}
  7979. > \cr
  7980. >  a29k       &&altos       &&aix*\cr
  7981. >  alliant    &&aout        &&aout\cr
  7982. >  arm        &&apollo      &&bout\cr
  7983. >  c1         &&att         &&bsd*\cr
  7984. >  c2         &&bout        &&coff\cr
  7985. >  i386       &&coff        &&ctix*\cr
  7986. >  i860       &&convergent  &&dynix*\cr
  7987. >  i960       &&convex      &&esix*\cr
  7988. >  m68000     &&dec         &&hpux*\cr
  7989. >  m68k       &&encore      &&isc*\cr
  7990. >  m88k       &&gould       &&mach*\cr
  7991. >  mips       &&hp          &&newsos*\cr
  7992. >  ns32k      &&ibm         &&nindy*\cr
  7993. >  pyramid    &&intel       &&none\cr
  7994. >  rs6000     &&isi         &&osf*\cr
  7995. >  rtpc       &&little      &&sco*\cr      
  7996. >  sparc      &&mips        &&sunos*\cr    
  7997. >  tahoe      &&motorola    &&sysv*\cr     
  7998. >  tron       &&ncr         &&ultrix*\cr   
  7999. >  vax        &&next        &&unos*\cr     
  8000. >             &&none        &&v88r*\cr     
  8001. >             &&sco         &&vms*\cr      
  8002. >             &&sequent     &&vxworks*\cr  
  8003. >             &&sgi         \cr            
  8004. >             &&sony        \cr            
  8005. >             &&sun         \cr            
  8006. >             &&unicom      \cr            
  8007. >             &&utek        \cr            
  8008. >             &&wrs         \cr
  8009. > }
  8010. > @end tex
  8011. > @quotation
  8012. > @emph{Warning:} Many combinations of architecture, vendor, and OS are
  8013. > untested. 
  8014. > @end quotation
  8015. > The @code{configure} script accompanying _GDBN__ 4.0 does not provide
  8016. > any query facility to list all supported host and target names or
  8017. > aliases.  @code{configure} calls the Bourne shell script
  8018. > @code{config.sub} to map abbreviations to full names; you can read the
  8019. > script, if you wish, or you can use it to test your guesses on
  8020. > abbreviations---for example:
  8021. > @example
  8022. > % sh config.sub sun4
  8023. > sparc-sun-sunos4
  8024. > % sh config.sub sun3
  8025. > m68k-sun-sunos4
  8026. > % sh config.sub decstation
  8027. > mips-dec-ultrix
  8028. > % sh config.sub hp300bsd
  8029. > m68k-hp-bsd
  8030. > % sh config.sub i386v
  8031. > i386-none-sysv
  8032. > % sh config.sub i486v
  8033. > *** No vendor: configuration `i486v' not recognized
  8034. > @end example
  8035. > @node configure Options, Formatting Manual, Config Names, Installing _GDBN__
  8036. 5862,5863c6184,6185
  8037. < configure @r{[}+destdir=@var{dir}@r{]} @r{[}+forcesubdirs@r{]} @r{[}+norecur@r{]} @r{[}+rm@r{]}
  8038. <           @r{[}+target=@var{machine}@dots{}@r{]} @var{host}@dots{}
  8039. ---
  8040. > configure @r{[}+destdir=@var{dir}@r{]} @r{[}+subdirs@r{]} @r{[}+norecur@r{]} @r{[}+rm@r{]}
  8041. >           @r{[}+target=@var{target}@dots{}@r{]} @var{host}@dots{}
  8042. 5867c6189,6190
  8043. < @samp{+} if you prefer; but options introduced with @samp{+} may be truncated.
  8044. ---
  8045. > @samp{+} if you prefer; but you may abbreviate option names if you use
  8046. > @samp{+}.
  8047. 5877c6200
  8048. < @item +forcesubdirs
  8049. ---
  8050. > @item +subdirs
  8051. 5880c6203
  8052. < Host-@var{machine}/Target-@var{machine}
  8053. ---
  8054. > Host-@var{host}/Target-@var{target}
  8055. 5887c6210
  8056. < more than one @var{host} or more than one @samp{+target=@var{machine}}
  8057. ---
  8058. > more than one @var{host} or more than one @samp{+target=@var{target}}
  8059. 5895c6218
  8060. < Remove the configuration specified by other arguments.
  8061. ---
  8062. > Remove the configuration that the other arguments specify.
  8063. 5897c6220
  8064. < @item +target=@var{machine} @dots{}
  8065. ---
  8066. > @item +target=@var{target} @dots{}
  8067. 5899,5903c6222,6226
  8068. < @var{machine}.  You may specify as many @samp{+target} options as you
  8069. < wish.  To see a list of available targets, execute @samp{ls tconfig} in
  8070. < the _GDBN__ source directory.  Without this option, _GDBN__ is
  8071. < configured to debug programs that run on the same machine (@var{host})
  8072. < as _GDBN__ itself.
  8073. ---
  8074. > @var{target}.  You may specify as many @samp{+target} options as you
  8075. > wish.  Without this option, _GDBN__ is configured to debug programs that
  8076. > run on the same machine (@var{host}) as _GDBN__ itself.
  8077. > There is no convenient way to generate a list of all available targets.
  8078. 5907,5908c6230,6232
  8079. < many host names as you wish.  To see a list of available hosts, execute
  8080. < @samp{ls xconfig} in the _GDBN__ source directory.
  8081. ---
  8082. > many host names as you wish.  
  8083. > There is no convenient way to generate a list of all available hosts.
  8084. 5913c6237
  8085. < configuring other @sc{gnu} tools recursively; but these are the only
  8086. ---
  8087. > configuring other GNU tools recursively; but these are the only
  8088. 5919,5920c6243,6250
  8089. < To format the _GDBN__ manual as an Info file, you need the @sc{gnu}
  8090. < @code{makeinfo} program.  Once you have it, you can type
  8091. ---
  8092. > The _GDBN__ 4.0 release includes the Info version of this manual already
  8093. > formatted: the main Info file is @file{gdb-4.0/gdb/gdb.info}, and it
  8094. > refers to subordinate files matching @samp{gdb.info*} in the same
  8095. > directory.
  8096. > If you want to make these Info files yourself from the _GDBN__ manual's
  8097. > source, you need the GNU @code{makeinfo} program.  Once you have it, you
  8098. > can type
  8099. 5922c6252
  8100. < cd @var{gnusrc}/gdb
  8101. ---
  8102. > cd gdb-4.0/gdb
  8103. 5936c6266
  8104. < @file{@var{gnusrc}/texinfo}: @TeX{} macros defining the @sc{gnu}
  8105. ---
  8106. > @file{gdb-4.0/texinfo}: @TeX{} macros defining the GNU
  8107. 5948c6278
  8108. < cd @var{gnusrc}/gdb
  8109. ---
  8110. > cd gdb-4.0/gdb
  8111. 5953a6284,6307
  8112. > @cindex _GDBN__ reference card
  8113. > @cindex reference card
  8114. > You might also want hard copy of the _GDBN__ reference card.  The
  8115. > _GDBN__ 4.0 release includes an already-formatted reference card, ready
  8116. > for printing on a PostScript printer, as @file{gdb-4.0/gdb/refcard.ps}.
  8117. > It uses the most common PostScript fonts: the Times family, Courier, and
  8118. > Symbol.  If you have a PostScript printer you can print the reference
  8119. > card by just sending @file{refcard.ps} to the printer.
  8120. > If you have some other kind of printer, or want to print using Computer
  8121. > Modern fonts instead, you can still print the reference card if you have
  8122. > @TeX{}.  Format the reference card by typing
  8123. > @example
  8124. > cd gdb-4.0/gdb
  8125. > make refcard.dvi
  8126. > @end example
  8127. > @noindent
  8128. > The _GDBN__ reference card is designed to print in landscape mode on US
  8129. > ``letter'' size paper; that is, on a sheet 11 inches wide by 8.5 inches
  8130. > high.  You will need to specify this form of printing as an option to
  8131. > your @sc{dvi} output program.
  8132. diff -r gdb-3.98/gdb/doc/gdbint.texinfo gdb-4.0/gdb/doc/gdbint.texinfo
  8133. 2,3c2,3
  8134. < @setfilename gdb-internals
  8135. < @c $Id: gdbint.texinfo,v 1.11 1991/07/22 18:19:17 pesch Exp $
  8136. ---
  8137. > @setfilename gdbint.info
  8138. > @c $Id: gdbint.texinfo,v 1.16 1991/08/24 00:43:28 pesch Exp $
  8139. 26c26
  8140. < @setchapternewpage odd
  8141. ---
  8142. > @setchapternewpage off
  8143. 36c36
  8144. < \xdef\manvers{\$Revision: 1.11 $}  % For use in headers, footers too
  8145. ---
  8146. > \xdef\manvers{\$Revision: 1.16 $}  % For use in headers, footers too
  8147. 60a61,64
  8148. > * Host::            Adding a New Host
  8149. > * Target::            Adding a New Target
  8150. > * Config::            Extending @code{configure}
  8151. > * BFD support for GDB::        How BFD and GDB interface
  8152. 70c74
  8153. < later.  When your code does something (like malloc some memory, or open
  8154. ---
  8155. > later.  When your code does something (like @code{malloc} some memory, or open
  8156. 82,88c86,91
  8157. < @item old_chain = make_cleanup (function, arg);
  8158. < This makes a cleanup which will cause FUNCTION to be called with ARG
  8159. < (a char *) later.  The result, OLD_CHAIN, is a handle that can be
  8160. < passed to do_cleanups or discard_cleanups later.  Unless you are
  8161. < going to call do_cleanups or discard_cleanups yourself,
  8162. < you can ignore the result from make_cleanup.
  8163. ---
  8164. > @item @var{old_chain} = make_cleanup (@var{function}, @var{arg});
  8165. > Make a cleanup which will cause @var{function} to be called with @var{arg}
  8166. > (a @code{char *}) later.  The result, @var{old_chain}, is a handle that can be
  8167. > passed to @code{do_cleanups} or @code{discard_cleanups} later.  Unless you are
  8168. > going to call @code{do_cleanups} or @code{discard_cleanups} yourself,
  8169. > you can ignore the result from @code{make_cleanup}.
  8170. 90,93c93,103
  8171. < @item do_cleanups (old_chain);
  8172. < Performs all cleanups done since make_cleanup returned OLD_CHAIN.
  8173. < E.g.:   make_cleanup (a, 0); old = make_cleanup (b, 0); do_cleanups (old);
  8174. < will call b() but will not call a().  The cleanup that calls a() will remain
  8175. ---
  8176. > @item do_cleanups (@var{old_chain});
  8177. > Perform all cleanups done since @code{make_cleanup} returned @var{old_chain}.
  8178. > E.g.:   
  8179. > @example
  8180. > make_cleanup (a, 0); 
  8181. > old = make_cleanup (b, 0); 
  8182. > do_cleanups (old);
  8183. > @end example
  8184. > @noindent
  8185. > will call @code{b()} but will not call @code{a()}.  The cleanup that calls @code{a()} will remain
  8186. 96,97c106,107
  8187. < @item discard_cleanups (old_chain);
  8188. < Same as do_cleanups except that it just removes the cleanups from the
  8189. ---
  8190. > @item discard_cleanups (@var{old_chain});
  8191. > Same as @code{do_cleanups} except that it just removes the cleanups from the
  8192. 112,113c122,123
  8193. < Output that goes through printf_filtered or fputs_filtered or
  8194. < fputs_demangled needs only to have calls to wrap_here() added 
  8195. ---
  8196. > Output that goes through @code{printf_filtered} or @code{fputs_filtered} or
  8197. > @code{fputs_demangled} needs only to have calls to @code{wrap_here} added 
  8198. 117,120c127,130
  8199. < The argument to wrap_here() is an indentation string which is printed
  8200. < ONLY if the line breaks there.  This argument is saved away and used
  8201. < later.  It must remain valid until the next call to wrap_here() or
  8202. < until a newline has been printed through the *_filtered functions.
  8203. ---
  8204. > The argument to @code{wrap_here} is an indentation string which is printed
  8205. > @emph{only} if the line breaks there.  This argument is saved away and used
  8206. > later.  It must remain valid until the next call to @code{wrap_here} or
  8207. > until a newline has been printed through the @code{*_filtered} functions.
  8208. 172c182
  8209. < @node New Architectures, Host versus Target, README, Top
  8210. ---
  8211. > @node New Architectures, Host, README, Top
  8212. 182c192,196
  8213. < = }@dots{}.  You can also define XXXXXX in there.
  8214. ---
  8215. > = }@dots{}.  The header file that defines the host system should be
  8216. > called xm-@var{ARCH}.h, and should be specified as the value of @samp{XM_FILE=}
  8217. > in @file{xconfig/@var{ARCH}}.  
  8218. > You can also define @samp{CC}, @samp{REGEX} and @samp{REGEX1},
  8219. > @samp{SYSV_DEFINE}, @samp{XM_CFLAGS}, etc in there; see @file{Makefile.in}.
  8220. 217,219c231,237
  8221. < Files needed when the target system is an @var{ARCH} are listed in the file
  8222. < @file{tconfig/@var{ARCH}}, in the @code{Makefile} macro @samp{TDEPFILES = }@dots{}.  You can also
  8223. < define XXXXXX in there.
  8224. ---
  8225. > Object files needed when the target system is an @var{ARCH} are listed in
  8226. > the file @file{tconfig/@var{ARCH}}, in the Makefile macro @samp{TDEPFILES
  8227. > = }@dots{}.  The header file that defines the target system should be
  8228. > called tm-@var{ARCH}.h, and should be specified as the value of @samp{TM_FILE}
  8229. > in @file{tconfig/@var{ARCH}}.  
  8230. > You can also define @samp{TM_CFLAGS}, @samp{TM_CLIBS}, and @samp{TM_CDEPS} 
  8231. > in there; see @file{Makefile.in}.
  8232. 233c251,469
  8233. < @node Host versus Target, Symbol Reading, New Architectures, Top
  8234. ---
  8235. > @node Host, Target, New Architectures, Top
  8236. > @chapter Adding a New Host
  8237. > There are two halves to making GDB work on a new machine.  First,
  8238. > you have to make it host on the new machine (compile there, handle
  8239. > that machine's terminals properly, etc).  If you will be cross-debugging
  8240. > to some other kind of system, you are done.
  8241. > (If you want to use GDB to debug programs that run on the new machine,
  8242. > you have to get it to understand the machine's object files, symbol
  8243. > files, and interfaces to processes.  @pxref{Target}.)
  8244. > Most of the work in making GDB compile on a new machine is in specifying
  8245. > the configuration of the machine.  This is done in a dizzying variety
  8246. > of header files and configuration scripts, which we hope to make more
  8247. > sensible soon.  Let's say your new host is called an XXX (e.g. sun4),
  8248. > and its full three-part configuration name is XARCH-XVEND-XOS (e.g.
  8249. > sparc-sun-sunos4).  In particular:
  8250. > At the top level, edit @file{config.sub} and add XARCH, XVEND, and
  8251. > XOS to the lists of supported architectures, vendors, and operating systems
  8252. > near the bottom of the file.  Also, add XXX as an alias that maps to
  8253. > XARCH-XVEND-XOS.  You can test your changes by running
  8254. > @example
  8255. > ./config.sub XXX
  8256. > @end example
  8257. > @noindent
  8258. > and
  8259. > @example
  8260. > ./config.sub XARCH-XVEND-XOS
  8261. > @end example
  8262. > @noindent
  8263. > which should both respond with XARCH-XVEND-XOS and no error messages.  
  8264. > Then edit @file{include/sysdep.h}.  Add a new #define for XXX_SYS, with
  8265. > a numeric value not already in use.  Add a new section that says
  8266. > @example
  8267. > #if HOST_SYS==XXX_SYS
  8268. > #include <sys/h-XXX.h>
  8269. > #endif
  8270. > @end example
  8271. > Now create a new file @file{include/sys/h-XXX.h}.  Examine the other
  8272. > h-*.h files as templates, and create one that brings in the right include
  8273. > files for your system, and defines any host-specific macros needed by
  8274. > GDB.
  8275. > Now, go to the bfd directory and edit @file{bfd/configure.in}.  Add shell
  8276. > script code to recognize your XARCH-XVEND-XOS configuration, and set
  8277. > bfd_host to XXX when you recognize it.  Now create a file
  8278. > @file{bfd/config/hmake-XXX}, which includes the line:
  8279. > @example
  8280. > HDEFINES=-DHOST_SYS=XXX_SYS
  8281. > @end example
  8282. > (If you have the binutils in the same tree, you'll have to do the same
  8283. > thing to in the binutils directory as you've done in the bfd directory.)
  8284. > It's likely that the libiberty and readline directories won't need any
  8285. > changes for your configuration, but if they do, you can change the
  8286. > @file{configure.in} file there to recognize your system and map to an
  8287. > hmake-XXX file.  Then add @file{hmake-XXX} to the @file{config/} subdirectory,
  8288. > to set any makefile variables you need.  The only current options
  8289. > in there are things like -DSYSV.
  8290. > Aha!  Now to configure GDB itself!  Modify @file{gdb/configure.in} to
  8291. > recognize your system and set gdb_host to XXX.  Add a file 
  8292. > @file{gdb/xconfig/XXX} which specifies XDEPFILES=(whatever is needed),
  8293. > and XM_FILE= xm-XXX.h.  Create @file{gdb/xm-XXX.h} with the appropriate
  8294. > #define's for your system (crib from existing xm-*.h files).
  8295. > If your machine needs custom support routines, you can put them in
  8296. > a file @file{gdb/XXX-xdep.c}, and add XXX-xdep.o to the XDEPFILES=
  8297. > line.  If not, you can use the generic routines for ptrace support
  8298. > (infptrace.o) and core files (coredep.o).  These can be customized
  8299. > in various ways by macros defined in your @file{xm-XXX.h} file.
  8300. > Now, from the top level (above bfd, gdb, etc), run:
  8301. > @example
  8302. > ./configure -template=./configure
  8303. > @end example
  8304. > This will rebuild all your configure scripts, using the new
  8305. > configure.in files that you modified.  (You can also run this command
  8306. > at any subdirectory level.)  You are now ready to try configuring
  8307. > GDB to compile for your system.  Do:
  8308. > @example
  8309. > ./configure XXX +target=vxworks960
  8310. > @end example
  8311. > This will configure your system to cross-compile for VxWorks on
  8312. > the Intel 960, which is probably not what you really want, but it's
  8313. > a test case that works at this stage.  (You haven't set up to be
  8314. > able to debug programs that run @emph{on} XXX yet.)
  8315. > If this succeeds, you can try building it all with:
  8316. > @example
  8317. > make
  8318. > @end example
  8319. > Good luck!  Comments and suggestions about this section are particularly
  8320. > welcome; send them to bug-gdb@@prep.ai.mit.edu.
  8321. > When hosting GDB on a new operating system, to make it possible
  8322. > to debug core files, you will need to either
  8323. > write specific code for parsing your OS's core files, or customize
  8324. > bfd/trad-core.c.   First, use whatever #include files your machine uses
  8325. > to define the struct of registers that is accessible (possibly in the
  8326. > upage) in a core file (rather than <machine/reg.h>), and an include
  8327. > file that defines whatever header exists on a core file (e.g. the
  8328. > u-area or a "struct core").  Then modify @samp{trad_unix_core_file_p}
  8329. > to use these values to set up the section information for the data
  8330. > segment, stack segment, any other segments in the core file (perhaps
  8331. > shared library contents or control information), "registers" segment,
  8332. > and if there are two discontiguous sets of registers (e.g.  integer and
  8333. > float), the "reg2" segment.  This section information basically
  8334. > delimits areas in the core file in a standard way, which the
  8335. > section-reading routines in BFD know how to seek around in.
  8336. > Then back in GDB, you need a matching routine called fetch_core_registers.
  8337. > If you can use the generic one, it's in core-dep.c; if not, it's in
  8338. > your foobar-xdep.c file.  It will be passed a char pointer
  8339. > to the entire "registers" segment, its length, and a zero; or a char
  8340. > pointer to the entire "regs2" segment, its length, and a 2.  The
  8341. > routine should suck out the supplied register values and install them into
  8342. > gdb's "registers" array.  (@xref{New Architectures}
  8343. > for more info about this.)
  8344. > @node Target, Config, Host, Top
  8345. > @chapter Adding a New Target
  8346. > When adding support for a new target machine, there are various areas
  8347. > of support that might need change, or might be OK.
  8348. > If you are using an existing object file format (a.out or COFF), 
  8349. > there is probably little to be done.  See @file{bfd/doc/bfd.texinfo}
  8350. > for more information on writing new a.out or COFF versions.
  8351. > If you need to add a new object file format, you are beyond the scope
  8352. > of this document right now.  Look at the structure of the a.out
  8353. > and COFF support, build a transfer vector (xvec) for your new format,
  8354. > and start populating it with routines.  Add it to the list in 
  8355. > @file{bfd/targets.c}.
  8356. > If you are adding a new existing CPU chip (e.g. m68k family), you'll
  8357. > need to define an XARCH-opcode.h file, a tm-XARCH.h file that gives
  8358. > the basic layout of the chip (registers, stack, etc), probably
  8359. > an XARCH-tdep.c file that has support routines for tm-XARCH.h, etc.
  8360. > If you are adding a new operating system for an existing CPU chip,
  8361. > add a tm-XOS.h file that describes the operating system facilities
  8362. > that are unusual (extra symbol table info; the breakpoint
  8363. > instruction needed; etc).  Then write a @file{tm-XARCH-XOS.h}
  8364. > that just #include's tm-XARCH.h and tm-XOS.h.  (Now that we have
  8365. > three-part configuration names, this will probably get revised to
  8366. > separate the OS configuration from the ARCH configuration.  FIXME.)
  8367. > @node Config, BFD support for GDB, Target, Top
  8368. > @chapter Extending @code{configure}
  8369. > Once you have added a new host, target, or both, you'll also need to
  8370. > extend the @code{configure} script to recognize the new configuration
  8371. > possibilities.  
  8372. > You shouldn't edit the @code{configure} script itself to add hosts or
  8373. > targets; instead, edit the script fragments in the file
  8374. > @code{configure.in}.  To handle new hosts, modify the segment after the
  8375. > comment @samp{# per-host}; to handle new targets, modify after @samp{#
  8376. > per-target}.
  8377. > @c Would it be simpler to just use different per-host and per-target
  8378. > @c *scripts*, and call them from {configure} ?
  8379. > Then fold your changes into the @code{configure} script by using the
  8380. > @code{+template} option, and specifying @code{configure} itself as the
  8381. > template:
  8382. > @example
  8383. > configure +template=configure
  8384. > @end example
  8385. > @c If "configure" is the only workable option value for +template, it's
  8386. > @c kind of silly to insist that it be provided.  If it isn't, somebody
  8387. > @c please fill in here what are others... (then delete this comment!)
  8388. > @node BFD support for GDB, Host versus Target, Config, Top
  8389. > @chapter Binary File Descriptor library support for GDB
  8390. > BFD provides support for GDB in several ways:
  8391. > @table @emph
  8392. > @item    identifying executable and core files
  8393. > BFD will identify a variety of file types, including a.out, coff, and
  8394. > several variants thereof, as well as several kinds of core files.
  8395. > @item    access to sections of files
  8396. > BFD parses the file headers to determine the names, virtual addresses,
  8397. > sizes, and file locations of all the various named sections in files
  8398. > (such as the text section or the data section).  GDB simply calls
  8399. > BFD to read or write section X at byte offset Y for length Z.
  8400. > @item    specialized core file support
  8401. > BFD provides routines to determine the failing command name stored
  8402. > in a core file, the signal with which the program failed, and whether
  8403. > a core file matches (i.e. could be a core dump of) a particular executable
  8404. > file.
  8405. > @item    locating the symbol information
  8406. > GDB uses an internal interface of BFD to determine where to find the
  8407. > symbol information in an executable file or symbol-file.  GDB itself
  8408. > handles the reading of symbols, since BFD does not ``understand'' debug
  8409. > symbols, but GDB uses BFD's cached information to find the symbols,
  8410. > string table, etc.
  8411. > @end table
  8412. > The interface for symbol reading is described in @xref{Symbol Reading}.
  8413. > @node Host versus Target, Symbol Reading, BFD support for GDB, Top
  8414. Only in gdb-3.98/gdb/doc: gdbrc.dvi
  8415. Only in gdb-3.98/gdb/doc: gdbrc.log
  8416. Only in gdb-3.98/gdb/doc: gdbrc.tex
  8417. Only in gdb-4.0/gdb/doc: rc-cm.tex
  8418. Only in gdb-4.0/gdb/doc: rc-ps.tex
  8419. Only in gdb-4.0/gdb/doc: rc-pslong.tex
  8420. Only in gdb-4.0/gdb/doc: rcfonts.tex
  8421. Only in gdb-4.0/gdb/doc: rdl-apps.texi
  8422. Only in gdb-4.0/gdb/doc: refcard.tex
  8423. diff -r gdb-3.98/gdb/exec.c gdb-4.0/gdb/exec.c
  8424. 49d48
  8425. < extern void add_syms_addr_command ();
  8426. 56,59d54
  8427. < /* The base and bounds of the table of the exec file's sections.  */
  8428. < struct section_table *exec_sections, *exec_sections_end;
  8429. 72a68,72
  8430. >   if (exec_ops.sections) {
  8431. >     free (exec_ops.sections);
  8432. >     exec_ops.sections = NULL;
  8433. >     exec_ops.sections_end = NULL;
  8434. >   }
  8435. 137c137,138
  8436. <       if (build_section_table (exec_bfd, &exec_sections, &exec_sections_end))
  8437. ---
  8438. >       if (build_section_table (exec_bfd, &exec_ops.sections,
  8439. >                 &exec_ops.sections_end))
  8440. 185a187
  8441. >   (*table_pp)->bfd = abfd;
  8442. 215c217
  8443. <    Args are address within exec file, address within gdb address-space,
  8444. ---
  8445. >    Args are address within a BFD file, address within gdb address-space,
  8446. 232c234
  8447. < xfer_memory (memaddr, myaddr, len, write, abfd, sections, sections_end)
  8448. ---
  8449. > xfer_memory (memaddr, myaddr, len, write, target)
  8450. 237,238c239
  8451. <      bfd *abfd;
  8452. <      struct section_table *sections, *sections_end;
  8453. ---
  8454. >      struct target_ops *target;
  8455. 252c253
  8456. <   for (p = sections; p < sections_end; p++)
  8457. ---
  8458. >   for (p = target->sections; p < target->sections_end; p++)
  8459. 258c259
  8460. <         res = xfer_fn (abfd, p->sec_ptr, myaddr, memaddr - p->addr, len);
  8461. ---
  8462. >         res = xfer_fn (p->bfd, p->sec_ptr, myaddr, memaddr - p->addr, len);
  8463. 270c271
  8464. <         res = xfer_fn (abfd, p->sec_ptr, myaddr, memaddr - p->addr, len);
  8465. ---
  8466. >         res = xfer_fn (p->bfd, p->sec_ptr, myaddr, memaddr - p->addr, len);
  8467. 283,296d283
  8468. < /* The function called by target_xfer_memory via our target_ops */
  8469. < int
  8470. < exec_xfer_memory (memaddr, myaddr, len, write)
  8471. <      CORE_ADDR memaddr;
  8472. <      char *myaddr;
  8473. <      int len;
  8474. <      int write;
  8475. < {
  8476. <   return xfer_memory (memaddr, myaddr, len, write,
  8477. <               exec_bfd, exec_sections, exec_sections_end);
  8478. < }
  8479. 319c306
  8480. <   for (p = exec_sections; p < exec_sections_end; p++)
  8481. ---
  8482. >   for (p = exec_ops.sections; p < exec_ops.sections_end; p++)
  8483. 347c334
  8484. <   for (p = exec_sections; p < exec_sections_end; p++) {
  8485. ---
  8486. >   for (p = exec_ops.sections; p < exec_ops.sections_end; p++) {
  8487. 372c359
  8488. <     exec_xfer_memory, exec_files_info,
  8489. ---
  8490. >     xfer_memory, exec_files_info,
  8491. 376d362
  8492. <     add_syms_addr_command,
  8493. 381a368
  8494. >     0, 0,            /* section pointers */
  8495. diff -r gdb-3.98/gdb/expprint.c gdb-4.0/gdb/expprint.c
  8496. 119a120
  8497. >   value val;
  8498. 131c132
  8499. <       fprintf (stream, " :: ");
  8500. ---
  8501. >       fputs_filtered (" :: ", stream);
  8502. 135c136
  8503. <       fprintf (stream, &exp->elts[pc + 2].string);
  8504. ---
  8505. >       fputs_filtered (&exp->elts[pc + 2].string, stream);
  8506. 154c155
  8507. <       fprintf (stream, "%s", SYMBOL_NAME (exp->elts[pc + 1].symbol));
  8508. ---
  8509. >       fputs_filtered (SYMBOL_NAME (exp->elts[pc + 1].symbol), stream);
  8510. 159c160,161
  8511. <       fprintf (stream, "$%d", longest_to_int (exp->elts[pc + 1].longconst));
  8512. ---
  8513. >       fprintf_filtered (stream, "$%d",
  8514. >             longest_to_int (exp->elts[pc + 1].longconst));
  8515. 164c166
  8516. <       fprintf (stream, "$%s",
  8517. ---
  8518. >       fprintf_filtered (stream, "$%s",
  8519. 170c172
  8520. <       fprintf (stream, "$%s",
  8521. ---
  8522. >       fprintf_filtered (stream, "$%s",
  8523. 178c180
  8524. <       fprintf (stream, " (");
  8525. ---
  8526. >       fputs_filtered (" (", stream);
  8527. 182c184
  8528. <         fprintf (stream, ", ");
  8529. ---
  8530. >         fputs_filtered (", ", stream);
  8531. 185c187
  8532. <       fprintf (stream, ")");
  8533. ---
  8534. >       fputs_filtered (")", stream);
  8535. 191c193
  8536. <       fprintf (stream, "\"");
  8537. ---
  8538. >       fputs_filtered ("\"", stream);
  8539. 194c196
  8540. <       fprintf (stream, "\"");
  8541. ---
  8542. >       fputs_filtered ("\"", stream);
  8543. 199c201
  8544. <     fprintf (stream, "(");
  8545. ---
  8546. >     fputs_filtered ("(", stream);
  8547. 205c207
  8548. <       fprintf (stream, " ? ");
  8549. ---
  8550. >       fputs_filtered (" ? ", stream);
  8551. 207c209
  8552. <       fprintf (stream, " : ");
  8553. ---
  8554. >       fputs_filtered (" : ", stream);
  8555. 210c212
  8556. <     fprintf (stream, ")");
  8557. ---
  8558. >     fputs_filtered (")", stream);
  8559. 217c219,220
  8560. <       fprintf (stream, ".%s", &exp->elts[pc + 1].string);
  8561. ---
  8562. >       fputs_filtered (".", stream);
  8563. >       fputs_filtered (&exp->elts[pc + 1].string, stream);
  8564. 224c227,228
  8565. <       fprintf (stream, "->%s", &exp->elts[pc + 1].string);
  8566. ---
  8567. >       fputs_filtered ("->", stream);
  8568. >       fputs_filtered (&exp->elts[pc + 1].string, stream);
  8569. 229c233
  8570. <       fprintf (stream, "[");
  8571. ---
  8572. >       fputs_filtered ("[", stream);
  8573. 231c235
  8574. <       fprintf (stream, "]");
  8575. ---
  8576. >       fputs_filtered ("]", stream);
  8577. 236c240
  8578. <       fprintf (stream, "++");
  8579. ---
  8580. >       fputs_filtered ("++", stream);
  8581. 241c245
  8582. <       fprintf (stream, "--");
  8583. ---
  8584. >       fputs_filtered ("--", stream);
  8585. 247,248c251,252
  8586. <     fprintf (stream, "(");
  8587. <       fprintf (stream, "(");
  8588. ---
  8589. >         fputs_filtered ("(", stream);
  8590. >       fputs_filtered ("(", stream);
  8591. 250c254
  8592. <       fprintf (stream, ") ");
  8593. ---
  8594. >       fputs_filtered (") ", stream);
  8595. 253c257
  8596. <     fprintf (stream, ")");
  8597. ---
  8598. >         fputs_filtered (")", stream);
  8599. 259,263c263,279
  8600. <     fprintf (stream, "(");
  8601. <       fprintf (stream, "{");
  8602. <       type_print (exp->elts[pc + 1].type, "", stream, 0);
  8603. <       fprintf (stream, "} ");
  8604. <       print_subexp (exp, pos, stream, PREC_PREFIX);
  8605. ---
  8606. >         fputs_filtered ("(", stream);
  8607. >       if (exp->elts[pc + 1].type->code == TYPE_CODE_FUNC &&
  8608. >       exp->elts[pc + 3].opcode == OP_LONG) {
  8609. >     /* We have a misc function vector fn, probably.  It's encoded
  8610. >        as a UNOP_MEMVAL (function-type) of an OP_LONG (int, address).
  8611. >        Swallow the OP_LONG (including both its opcodes); ignore
  8612. >        its type; print the value in the type of the MEMVAL.  */
  8613. >     (*pos) += 4;
  8614. >     val = value_at_lazy (exp->elts[pc + 1].type,
  8615. >                  exp->elts[pc + 5].longconst);
  8616. >     value_print (val, stream, 0, Val_no_prettyprint);
  8617. >       } else {
  8618. >     fputs_filtered ("{", stream);
  8619. >     type_print (exp->elts[pc + 1].type, "", stream, 0);
  8620. >     fputs_filtered ("} ", stream);
  8621. >         print_subexp (exp, pos, stream, PREC_PREFIX);
  8622. >       }
  8623. 265c281
  8624. <     fprintf (stream, ")");
  8625. ---
  8626. >         fputs_filtered (")", stream);
  8627. 284c300
  8628. <       fprintf (stream, "this");
  8629. ---
  8630. >       fputs_filtered ("this", stream);
  8631. 299c315
  8632. <     fprintf (stream, "(");
  8633. ---
  8634. >     fputs_filtered ("(", stream);
  8635. 303c319
  8636. <       fprintf (stream, "%s", op_str);
  8637. ---
  8638. >       fputs_filtered (op_str, stream);
  8639. 316c332
  8640. <     fprintf (stream, " %s= ", op_str);
  8641. ---
  8642. >     fprintf_filtered (stream, " %s= ", op_str);
  8643. 318c334
  8644. <     fprintf (stream, "%s ", op_str);
  8645. ---
  8646. >     fprintf_filtered (stream, "%s ", op_str);
  8647. 320c336
  8648. <     fprintf (stream, " %s ", op_str);
  8649. ---
  8650. >     fprintf_filtered (stream, " %s ", op_str);
  8651. 328c344
  8652. <     fprintf (stream, ")");
  8653. ---
  8654. >     fputs_filtered (")", stream);
  8655. diff -r gdb-3.98/gdb/expread.tab.c gdb-4.0/gdb/expread.tab.c
  8656. 226,284c226
  8657. < static const short yyprhs[] = {     0,
  8658. <      0,     2,     4,     8,    11,    14,    17,    20,    23,    26,
  8659. <     29,    32,    35,    38,    42,    47,    51,    56,    61,    62,
  8660. <     68,    69,    71,    75,    80,    85,    89,    93,    97,   101,
  8661. <    105,   109,   113,   117,   121,   125,   129,   133,   137,   141,
  8662. <    145,   149,   153,   157,   161,   165,   171,   175,   179,   181,
  8663. <    183,   185,   187,   189,   191,   193,   195,   197,   199,   204,
  8664. <    206,   208,   210,   214,   218,   222,   227,   230,   232,   234,
  8665. <    237,   239,   242,   244,   247,   249,   253,   256,   258,   261,
  8666. <    263,   266,   270,   273,   275,   279,   286,   295,   305,   307,
  8667. <    309,   311,   313,   316,   320,   323,   327,   331,   336,   339,
  8668. <    343,   346,   349,   352,   355,   357,   360,   362,   364,   366,
  8669. <    368,   370,   372,   376,   378,   380,   382,   384,   386,   388
  8670. < };
  8671. < static const short yyrhs[] = {    67,
  8672. <      0,    68,     0,    67,    29,    68,     0,    49,    68,     0,
  8673. <     37,    68,     0,    48,    68,     0,    59,    68,     0,    60,
  8674. <     68,     0,    53,    68,     0,    54,    68,     0,    68,    53,
  8675. <      0,    68,    54,     0,    16,    68,     0,    68,    55,    82,
  8676. <      0,    68,    55,    49,    68,     0,    68,    56,    82,     0,
  8677. <     68,    56,    49,    68,     0,    68,    57,    67,    61,     0,
  8678. <      0,    68,    58,    69,    70,    62,     0,     0,    68,     0,
  8679. <     70,    29,    68,     0,    63,    78,    64,    68,     0,    58,
  8680. <     78,    62,    68,     0,    58,    67,    62,     0,    68,    46,
  8681. <     68,     0,    68,    49,    68,     0,    68,    50,    68,     0,
  8682. <     68,    51,    68,     0,    68,    47,    68,     0,    68,    48,
  8683. <     68,     0,    68,    44,    68,     0,    68,    45,    68,     0,
  8684. <     68,    38,    68,     0,    68,    39,    68,     0,    68,    42,
  8685. <     68,     0,    68,    43,    68,     0,    68,    40,    68,     0,
  8686. <     68,    41,    68,     0,    68,    37,    68,     0,    68,    36,
  8687. <     68,     0,    68,    35,    68,     0,    68,    34,    68,     0,
  8688. <     68,    33,    68,     0,    68,    32,    68,    65,    68,     0,
  8689. <     68,    31,    68,     0,    68,    27,    68,     0,     3,     0,
  8690. <     11,     0,     5,     0,    12,     0,     4,     0,     6,     0,
  8691. <     72,     0,    24,     0,    25,     0,    26,     0,    16,    58,
  8692. <     78,    62,     0,     7,     0,    28,     0,     9,     0,    71,
  8693. <     18,    82,     0,    71,    18,    82,     0,    79,    18,    82,
  8694. <      0,    79,    18,    60,    82,     0,    18,    82,     0,    83,
  8695. <      0,    79,     0,    79,    74,     0,    49,     0,    49,    74,
  8696. <      0,    37,     0,    37,    74,     0,    75,     0,    58,    74,
  8697. <     62,     0,    75,    76,     0,    76,     0,    75,    77,     0,
  8698. <     77,     0,    57,    61,     0,    57,     3,    61,     0,    58,
  8699. <     62,     0,    73,     0,    79,    18,    49,     0,    78,    58,
  8700. <     79,    18,    49,    62,     0,    78,    58,    79,    18,    49,
  8701. <     62,    58,    62,     0,    78,    58,    79,    18,    49,    62,
  8702. <     58,    81,    62,     0,    10,     0,    23,     0,    21,     0,
  8703. <     22,     0,    21,    23,     0,    17,    21,    23,     0,    21,
  8704. <     21,     0,    21,    21,    23,     0,    17,    21,    21,     0,
  8705. <     17,    21,    21,    23,     0,    22,    23,     0,    17,    22,
  8706. <     23,     0,    13,    82,     0,    14,    82,     0,    15,    82,
  8707. <      0,    17,    80,     0,    17,     0,    20,    80,     0,    20,
  8708. <      0,    10,     0,    23,     0,    21,     0,    22,     0,    78,
  8709. <      0,    81,    29,    78,     0,     8,     0,     9,     0,    10,
  8710. <      0,    11,     0,    12,     0,     8,     0,     9,     0
  8711. < };
  8712. < #if YYDEBUG != 0
  8713. < static const short yyrline[] = { 0,
  8714. ---
  8715. > static const short yyrline[] = {     0,
  8716. 299c241
  8717. < static const char * const yytname[] = {   "$",
  8718. ---
  8719. > static const char * const yytname[] = {     0,
  8720. 306,308c248
  8721. < "']'","')'","'{'","'}'","':'","start","exp1","exp","@1","arglist",
  8722. < "block","variable","ptype","abs_decl","direct_abs_decl","array_mod","func_mod","type","typebase","typename",
  8723. < "nonempty_typelist","name","name_not_typename",""
  8724. ---
  8725. > "']'","')'","'{'","'}'","':'","start"
  8726. 310d249
  8727. < #endif
  8728. 524a464,465
  8729. > #define YYPURE 1
  8730. 526c467
  8731. < #line 3 "/usr/latest/lib/bison.simple"
  8732. ---
  8733. > #line 3 "bison.simple"
  8734. 529c470
  8735. <    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
  8736. ---
  8737. >    Copyright (C) 1984 Bob Corbett and Richard Stallman
  8738. 546,549d486
  8739. < #ifndef alloca
  8740. < #ifdef __GNUC__
  8741. < #define alloca __builtin_alloca
  8742. < #else /* Not GNU C.  */
  8743. 552,558c489
  8744. < #else /* Not sparc */
  8745. < #ifdef MSDOS
  8746. < #include <malloc.h>
  8747. < #endif /* MSDOS */
  8748. < #endif /* Not sparc.  */
  8749. < #endif /* Not GNU C.  */
  8750. < #endif /* alloca not defined.  */
  8751. ---
  8752. > #endif
  8753. 572a504
  8754. > #define YYFAIL        goto yyerrlab;
  8755. 575,592c507
  8756. < #define YYERROR        goto yyerrlab1
  8757. < /* Like YYERROR except do call yyerror.
  8758. <    This remains here temporarily to ease the
  8759. <    transition to the new meaning of YYERROR, for GCC.
  8760. <    Once GCC version 2 has supplanted version 1, this can go.  */
  8761. < #define YYFAIL        goto yyerrlab
  8762. < #define YYRECOVERING()  (!!yyerrstatus)
  8763. < #define YYBACKUP(token, value) \
  8764. < do                                \
  8765. <   if (yychar == YYEMPTY && yylen == 1)                \
  8766. <     { yychar = (token), yylval = (value);            \
  8767. <       yychar1 = YYTRANSLATE (yychar);                \
  8768. <       YYPOPSTACK;                        \
  8769. <       goto yybackup;                        \
  8770. <     }                                \
  8771. <   else                                \
  8772. <     { yyerror ("syntax error: cannot back up"); YYERROR; }    \
  8773. < while (0)
  8774. ---
  8775. > #define YYERROR        goto yyerrlab
  8776. 597c512
  8777. < #ifndef YYPURE
  8778. ---
  8779. > #ifndef YYIMPURE
  8780. 601,602c516
  8781. < #ifdef YYPURE
  8782. < #ifdef YYLSP_NEEDED
  8783. ---
  8784. > #ifndef YYPURE
  8785. 604,605d517
  8786. < #else
  8787. < #define YYLEX        yylex(&yylval)
  8788. 607d518
  8789. < #endif
  8790. 611c522
  8791. < #ifndef YYPURE
  8792. ---
  8793. > #ifndef YYIMPURE
  8794. 617d527
  8795. < #ifdef YYLSP_NEEDED
  8796. 620d529
  8797. < #endif
  8798. 623c532
  8799. < #endif  /* not YYPURE */
  8800. ---
  8801. > #endif  /* YYIMPURE */
  8802. 631c540
  8803. < /*  YYINITDEPTH indicates the initial size of the parser's stacks    */
  8804. ---
  8805. > /*  YYMAXDEPTH indicates the initial size of the parser's stacks    */
  8806. 633,634c542,543
  8807. < #ifndef    YYINITDEPTH
  8808. < #define YYINITDEPTH 200
  8809. ---
  8810. > #ifndef    YYMAXDEPTH
  8811. > #define YYMAXDEPTH 200
  8812. 637c546
  8813. < /*  YYMAXDEPTH is the maximum size the stacks can grow to
  8814. ---
  8815. > /*  YYMAXLIMIT is the maximum size the stacks can grow to
  8816. 640,645c549,550
  8817. < #if YYMAXDEPTH == 0
  8818. < #undef YYMAXDEPTH
  8819. < #endif
  8820. < #ifndef YYMAXDEPTH
  8821. < #define YYMAXDEPTH 10000
  8822. ---
  8823. > #ifndef YYMAXLIMIT
  8824. > #define YYMAXLIMIT 10000
  8825. 647,648d551
  8826. < #ifndef __cplusplus
  8827. 650,679d552
  8828. < /* This is the most reliable way to avoid incompatibilities
  8829. <    in available built-in functions on various systems.  */
  8830. < static void
  8831. < __yy_bcopy (from, to, count)
  8832. <      char *from;
  8833. <      char *to;
  8834. <      int count;
  8835. < {
  8836. <   register char *f = from;
  8837. <   register char *t = to;
  8838. <   register int i = count;
  8839. <   while (i-- > 0)
  8840. <     *t++ = *f++;
  8841. < }
  8842. < #else /* __cplusplus */
  8843. < /* This is the most reliable way to avoid incompatibilities
  8844. <    in available built-in functions on various systems.  */
  8845. < static void
  8846. < __yy_bcopy (char *from, char *to, int count)
  8847. < {
  8848. <   register char *f = from;
  8849. <   register char *t = to;
  8850. <   register int i = count;
  8851. <   while (i-- > 0)
  8852. <     *t++ = *f++;
  8853. < }
  8854. 681,683c554
  8855. < #endif
  8856. < #line 160 "/usr/latest/lib/bison.simple"
  8857. ---
  8858. > #line 90 "bison.simple"
  8859. 690a562
  8860. >   YYLTYPE *yylsp;
  8861. 694,695c566,568
  8862. <   short    yyssa[YYINITDEPTH];    /*  the state stack            */
  8863. <   YYSTYPE yyvsa[YYINITDEPTH];    /*  the semantic value stack        */
  8864. ---
  8865. >   short    yyssa[YYMAXDEPTH];    /*  the state stack            */
  8866. >   YYSTYPE yyvsa[YYMAXDEPTH];    /*  the semantic value stack        */
  8867. >   YYLTYPE yylsa[YYMAXDEPTH];    /*  the location stack            */
  8868. 699,700d571
  8869. < #ifdef YYLSP_NEEDED
  8870. 702,703d572
  8871. <   YYLTYPE *yylsp;
  8872. <   YYLTYPE yylsa[YYINITDEPTH];    /*  the location stack            */
  8873. 705,710c574
  8874. < #define YYPOPSTACK   (yyvsp--, yysp--, yylsp--)
  8875. < #else
  8876. < #define YYPOPSTACK   (yyvsp--, yysp--)
  8877. < #endif
  8878. <   int yystacksize = YYINITDEPTH;
  8879. ---
  8880. >   int yymaxdepth = YYMAXDEPTH;
  8881. 712c576
  8882. < #ifdef YYPURE
  8883. ---
  8884. > #ifndef YYPURE
  8885. 715,716d578
  8886. <   int yynerrs;
  8887. < #ifdef YYLSP_NEEDED
  8888. 718c580
  8889. < #endif
  8890. ---
  8891. >   int yynerrs;
  8892. 743d604
  8893. < #ifdef YYLSP_NEEDED
  8894. 745d605
  8895. < #endif
  8896. 754c614
  8897. <   if (yyssp >= yyss + yystacksize - 1)
  8898. ---
  8899. >   if (yyssp >= yyss + yymaxdepth - 1)
  8900. 759,760d618
  8901. <       short *yyss1 = yyss;
  8902. < #ifdef YYLSP_NEEDED
  8903. 762c620
  8904. < #endif
  8905. ---
  8906. >       short *yyss1 = yyss;
  8907. 773d630
  8908. < #ifdef YYLSP_NEEDED
  8909. 775,776c632
  8910. < #endif
  8911. <          &yystacksize);
  8912. ---
  8913. >          &yymaxdepth);
  8914. 778,781c634
  8915. <       yyss = yyss1; yyvs = yyvs1;
  8916. < #ifdef YYLSP_NEEDED
  8917. <       yyls = yyls1;
  8918. < #endif
  8919. ---
  8920. >       yyss = yyss1; yyvs = yyvs1; yyls = yyls1;
  8921. 784,795c637,645
  8922. <       if (yystacksize >= YYMAXDEPTH)
  8923. <     {
  8924. <       yyerror("parser stack overflow");
  8925. <       return 2;
  8926. <     }
  8927. <       yystacksize *= 2;
  8928. <       if (yystacksize > YYMAXDEPTH)
  8929. <     yystacksize = YYMAXDEPTH;
  8930. <       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
  8931. <       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
  8932. <       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
  8933. <       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
  8934. ---
  8935. >       if (yymaxdepth >= YYMAXLIMIT)
  8936. >     yyerror("parser stack overflow");
  8937. >       yymaxdepth *= 2;
  8938. >       if (yymaxdepth > YYMAXLIMIT)
  8939. >     yymaxdepth = YYMAXLIMIT;
  8940. >       yyss = (short *) alloca (yymaxdepth * sizeof (*yyssp));
  8941. >       bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
  8942. >       yyvs = (YYSTYPE *) alloca (yymaxdepth * sizeof (*yyvsp));
  8943. >       bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
  8944. 797,798c647,648
  8945. <       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
  8946. <       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
  8947. ---
  8948. >       yyls = (YYLTYPE *) alloca (yymaxdepth * sizeof (*yylsp));
  8949. >       bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
  8950. 810c660
  8951. <     fprintf(stderr, "Stack size increased to %d\n", yystacksize);
  8952. ---
  8953. >     fprintf(stderr, "Stack size increased to %d\n", yymaxdepth);
  8954. 813c663
  8955. <       if (yyssp >= yyss + yystacksize - 1)
  8956. ---
  8957. >       if (yyssp >= yyss + yymaxdepth - 1)
  8958. 822,823d671
  8959. <  yybackup:
  8960. 826c674
  8961. < /* yyresume: */
  8962. ---
  8963. > yyresume:
  8964. 933,941c781,786
  8965. <       int i;
  8966. <       fprintf (stderr, "Reducing via rule %d (line %d), ",
  8967. <            yyn, yyrline[yyn]);
  8968. <       /* Print the symboles being reduced, and their result.  */
  8969. <       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
  8970. <     fprintf (stderr, "%s ", yytname[yyrhs[i]]);
  8971. <       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
  8972. ---
  8973. >       if (yylen == 1)
  8974. >     fprintf (stderr, "Reducing 1 value via line %d, ",
  8975. >          yyrline[yyn]);
  8976. >       else
  8977. >     fprintf (stderr, "Reducing %d values via line %d, ",
  8978. >          yylen, yyrline[yyn]);
  8979. 1700c1545
  8980. < #line 423 "/usr/latest/lib/bison.simple"
  8981. ---
  8982. > #line 327 "bison.simple"
  8983. 1759,1793c1604
  8984. < #ifdef YYERROR_VERBOSE
  8985. <       yyn = yypact[yystate];
  8986. <       if (yyn > YYFLAG && yyn < YYLAST)
  8987. <     {
  8988. <       int size = 0;
  8989. <       char *msg;
  8990. <       int x, count;
  8991. <       count = 0;
  8992. <       for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
  8993. <         if (yycheck[x + yyn] == x)
  8994. <           size += strlen(yytname[x]) + 15, count++;
  8995. <       msg = (char *) xmalloc(size + 15);
  8996. <       strcpy(msg, "parse error");
  8997. <       if (count < 5)
  8998. <         {
  8999. <           count = 0;
  9000. <           for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
  9001. <         if (yycheck[x + yyn] == x)
  9002. <           {
  9003. <             strcat(msg, count == 0 ? ", expecting `" : " or `");
  9004. <             strcat(msg, yytname[x]);
  9005. <             strcat(msg, "'");
  9006. <             count++;
  9007. <           }
  9008. <         }
  9009. <       yyerror(msg);
  9010. <       free(msg);
  9011. <     }
  9012. <       else
  9013. < #endif /* YYERROR_VERBOSE */
  9014. <     yyerror("parse error");
  9015. ---
  9016. >       yyerror("parse error");
  9017. 1796,1797d1606
  9018. < yyerrlab1:   /* here on error raised explicitly by an action */
  9019. 2589a2399
  9020. > /* ARGSUSED */
  9021. diff -r gdb-3.98/gdb/expread.y gdb-4.0/gdb/expread.y
  9022. 1629a1630
  9023. > /* ARGSUSED */
  9024. diff -r gdb-3.98/gdb/gdb.info gdb-4.0/gdb/gdb.info
  9025. 2c2
  9026. < file gdb-all.texinfo.
  9027. ---
  9028. > file gdb-all.texi.
  9029. 28,33c28,33
  9030. < gdb.info-1: 1057
  9031. < gdb.info-2: 48501
  9032. < gdb.info-3: 97827
  9033. < gdb.info-4: 143406
  9034. < gdb.info-5: 188629
  9035. < gdb.info-6: 232808
  9036. ---
  9037. > gdb.info-1: 1054
  9038. > gdb.info-2: 49653
  9039. > gdb.info-3: 98454
  9040. > gdb.info-4: 147012
  9041. > gdb.info-5: 195634
  9042. > gdb.info-6: 227137
  9043. 37,143c37,147
  9044. < Node: Top1059
  9045. < Node: Summary5491
  9046. < Node: Free Software6495
  9047. < Node: Contributors7288
  9048. < Node: New Features10496
  9049. < Node: Sample Session13567
  9050. < Node: Invocation20132
  9051. < Node: Starting GDB20378
  9052. < Node: File Options21383
  9053. < Node: Mode Options22661
  9054. < Node: Leaving GDB24738
  9055. < Node: Shell Commands25414
  9056. < Node: Commands26208
  9057. < Node: Command Syntax26384
  9058. < Node: Help27929
  9059. < Node: Running31653
  9060. < Node: Compilation32161
  9061. < Node: Starting33571
  9062. < Node: Arguments36551
  9063. < Node: Environment37540
  9064. < Node: Working Directory40200
  9065. < Node: Input/Output40909
  9066. < Node: Attach42510
  9067. < Node: Kill Process44672
  9068. < Node: Stopping45616
  9069. < Node: Breakpoints46646
  9070. < Node: Set Breaks48503
  9071. < Node: Set Watchpoints53027
  9072. < Node: Exception Handling53851
  9073. < Node: Delete Breaks56326
  9074. < Node: Disabling57936
  9075. < Node: Conditions60528
  9076. < Node: Break Commands65217
  9077. < Node: Breakpoint Menus68663
  9078. < Node: Error in Breakpoints70206
  9079. < Node: Continuing and Stepping71106
  9080. < Node: Signals76974
  9081. < Node: Stack80597
  9082. < Node: Frames81912
  9083. < Node: Backtrace84199
  9084. < Node: Selection85919
  9085. < Node: Frame Info88398
  9086. < Node: Source90334
  9087. < Node: List91172
  9088. < Node: Search94316
  9089. < Node: Source Path95137
  9090. < Node: Machine Code97829
  9091. < Node: Data100204
  9092. < Node: Expressions101282
  9093. < Node: Variables102689
  9094. < Node: Arrays104977
  9095. < Node: Output formats106993
  9096. < Node: Memory108861
  9097. < Node: Auto Display114177
  9098. < Node: Print Settings117870
  9099. < Node: Value History123377
  9100. < Node: Convenience Vars125760
  9101. < Node: Registers128182
  9102. < Node: Floating Point Hardware131539
  9103. < Node: Symbols131997
  9104. < Node: Altering135936
  9105. < Node: Assignment136776
  9106. < Node: Jumping138962
  9107. < Node: Signaling140923
  9108. < Node: Returning141586
  9109. < Node: Calling142738
  9110. < Node: GDB Files143209
  9111. < Node: Files143408
  9112. < Node: Symbol Errors150865
  9113. < Node: Targets154005
  9114. < Node: Active Targets154803
  9115. < Node: Target Commands155874
  9116. < Node: Remote158204
  9117. < Node: i960-Nindy Remote160276
  9118. < Node: Nindy Startup161019
  9119. < Node: Nindy Options161702
  9120. < Node: Nindy reset163350
  9121. < Node: EB29K Remote163734
  9122. < Node: Comms (EB29K)164289
  9123. < Node: gdb-EB29K167508
  9124. < Node: Remote Log168873
  9125. < Node: VxWorks Remote169349
  9126. < Node: VxWorks connection170704
  9127. < Node: VxWorks download171699
  9128. < Node: VxWorks attach173240
  9129. < Node: Controlling GDB173636
  9130. < Node: Prompt174149
  9131. < Node: Editing174774
  9132. < Node: History175541
  9133. < Node: Screen Size178032
  9134. < Node: Numbers179307
  9135. < Node: Messages/Warnings180427
  9136. < Node: Sequences182539
  9137. < Node: Define182985
  9138. < Node: Command Files185008
  9139. < Node: Output186254
  9140. < Node: Emacs188631
  9141. < Node: GDB Bugs194594
  9142. < Node: Bug Criteria195281
  9143. < Node: Bug Reporting196052
  9144. < Node: Renamed Commands203069
  9145. < Node: Installing GDB204709
  9146. < Node: Subdirectories207186
  9147. < Node: configure Options210081
  9148. < Node: Formatting Manual212364
  9149. < Node: Copying213505
  9150. < Node: Index232810
  9151. ---
  9152. > Node: Top1056
  9153. > Node: Summary7041
  9154. > Node: Free Software8074
  9155. > Node: Contributors8867
  9156. > Node: New Features12098
  9157. > Node: Sample Session15793
  9158. > Node: Invocation22357
  9159. > Node: Starting GDB22643
  9160. > Node: File Options23922
  9161. > Node: Mode Options25200
  9162. > Node: Leaving GDB27277
  9163. > Node: Shell Commands27953
  9164. > Node: Commands28747
  9165. > Node: Command Syntax28956
  9166. > Node: Help30790
  9167. > Node: Running34514
  9168. > Node: Compilation35139
  9169. > Node: Starting36549
  9170. > Node: Arguments39524
  9171. > Node: Environment40513
  9172. > Node: Working Directory43173
  9173. > Node: Input/Output43882
  9174. > Node: Attach45483
  9175. > Node: Kill Process47645
  9176. > Node: Stopping48589
  9177. > Node: Breakpoints49655
  9178. > Node: Set Breaks51611
  9179. > Node: Set Watchpoints56183
  9180. > Node: Exception Handling57007
  9181. > Node: Delete Breaks59484
  9182. > Node: Disabling61094
  9183. > Node: Conditions63686
  9184. > Node: Break Commands68375
  9185. > Node: Breakpoint Menus71821
  9186. > Node: Error in Breakpoints73364
  9187. > Node: Continuing and Stepping74264
  9188. > Node: Signals80159
  9189. > Node: Stack83782
  9190. > Node: Frames85163
  9191. > Node: Backtrace87450
  9192. > Node: Selection89170
  9193. > Node: Frame Info91649
  9194. > Node: Source93585
  9195. > Node: List94491
  9196. > Node: Search97635
  9197. > Node: Source Path98456
  9198. > Node: Machine Code101148
  9199. > Node: Data103555
  9200. > Node: Expressions104949
  9201. > Node: Variables106291
  9202. > Node: Arrays108579
  9203. > Node: Output formats110595
  9204. > Node: Memory112463
  9205. > Node: Auto Display117779
  9206. > Node: Print Settings121472
  9207. > Node: Value History126987
  9208. > Node: Convenience Vars129370
  9209. > Node: Registers131792
  9210. > Node: Floating Point Hardware135294
  9211. > Node: Cplusplus135752
  9212. > Node: Cplusplus expressions136256
  9213. > Node: Cplusplus commands138120
  9214. > Node: Symbols139581
  9215. > Node: Altering143905
  9216. > Node: Assignment144828
  9217. > Node: Jumping147014
  9218. > Node: Signaling148975
  9219. > Node: Returning149638
  9220. > Node: Calling150790
  9221. > Node: GDB Files151261
  9222. > Node: Files151493
  9223. > Node: Symbol Errors158949
  9224. > Node: Targets162287
  9225. > Node: Active Targets163127
  9226. > Node: Target Commands164198
  9227. > Node: Remote166528
  9228. > Node: i960-Nindy Remote168600
  9229. > Node: Nindy Startup169343
  9230. > Node: Nindy Options170026
  9231. > Node: Nindy reset171674
  9232. > Node: EB29K Remote172058
  9233. > Node: Comms (EB29K)172613
  9234. > Node: gdb-EB29K175832
  9235. > Node: Remote Log177197
  9236. > Node: VxWorks Remote177673
  9237. > Node: VxWorks connection179028
  9238. > Node: VxWorks download180023
  9239. > Node: VxWorks attach181564
  9240. > Node: Controlling GDB181960
  9241. > Node: Prompt182569
  9242. > Node: Editing183194
  9243. > Node: History183961
  9244. > Node: Screen Size186452
  9245. > Node: Numbers187727
  9246. > Node: Messages/Warnings188847
  9247. > Node: Sequences191870
  9248. > Node: Define192367
  9249. > Node: Command Files194390
  9250. > Node: Output195636
  9251. > Node: Emacs198013
  9252. > Node: GDB Bugs203976
  9253. > Node: Bug Criteria204690
  9254. > Node: Bug Reporting205461
  9255. > Node: Renamed Commands212478
  9256. > Node: Installing GDB214118
  9257. > Node: Subdirectories216134
  9258. > Node: Config Names219726
  9259. > Node: configure Options222638
  9260. > Node: Formatting Manual224889
  9261. > Node: Copying227139
  9262. > Node: Index246444
  9263. diff -r gdb-3.98/gdb/gdb.info-1 gdb-4.0/gdb/gdb.info-1
  9264. 2c2
  9265. < file gdb-all.texinfo.
  9266. ---
  9267. > file gdb-all.texi.
  9268. 34,55c34,56
  9269. < * Summary::            Summary of GDB
  9270. < * New Features::        New Features in GDB version 4.0
  9271. < * Sample Session::        A Sample GDB Session
  9272. < * Invocation::            Getting In and Out of GDB
  9273. < * Commands::            
  9274. < * Running::            Running Programs Under GDB
  9275. < * Stopping::            Stopping and Continuing
  9276. < * Stack::            Examining the Stack
  9277. < * Source::            Examining Source Files
  9278. < * Data::            Examining Data
  9279. < * Symbols::            Examining the Symbol Table
  9280. < * Altering::            Altering Execution
  9281. < * GDB Files::        
  9282. < * Targets::            Specifying a Debugging Target 
  9283. < * Controlling GDB::        Controlling GDB
  9284. < * Sequences::            Canned Sequences of Commands
  9285. < * Emacs::            Using GDB under GNU Emacs
  9286. < * GDB Bugs::            Reporting Bugs in GDB
  9287. < * Renamed Commands::        
  9288. < * Installing GDB::        Installing GDB
  9289. < * Copying::            GNU GENERAL PUBLIC LICENSE
  9290. < * Index::            Index
  9291. ---
  9292. > * Summary::                     Summary of GDB
  9293. > * New Features::                New Features in GDB version 4.0
  9294. > * Sample Session::              A Sample GDB Session
  9295. > * Invocation::                  Getting In and Out of GDB
  9296. > * Commands::                    
  9297. > * Running::                     Running Programs Under GDB
  9298. > * Stopping::                    Stopping and Continuing
  9299. > * Stack::                       Examining the Stack
  9300. > * Source::                      Examining Source Files
  9301. > * Data::                        Examining Data
  9302. > * Cplusplus::                   C++ and GDB
  9303. > * Symbols::                     Examining the Symbol Table
  9304. > * Altering::                    Altering Execution
  9305. > * GDB Files::               
  9306. > * Targets::                     Specifying a Debugging Target 
  9307. > * Controlling GDB::         Controlling GDB
  9308. > * Sequences::                   Canned Sequences of Commands
  9309. > * Emacs::                       Using GDB under GNU Emacs
  9310. > * GDB Bugs::                        Reporting Bugs in GDB
  9311. > * Renamed Commands::            
  9312. > * Installing GDB::          Installing GDB
  9313. > * Copying::                     GNU GENERAL PUBLIC LICENSE
  9314. > * Index::                       Index
  9315. 60,61c61,62
  9316. < * Free Software::        Free Software
  9317. < * Contributors::        Contributors to GDB
  9318. ---
  9319. > * Free Software::               Free Software
  9320. > * Contributors::                Contributors to GDB
  9321. 65,67c66,68
  9322. < * Starting GDB::        Starting GDB
  9323. < * Leaving GDB::            Leaving GDB
  9324. < * Shell Commands::        Shell Commands
  9325. ---
  9326. > * Starting GDB::            Starting GDB
  9327. > * Leaving GDB::                     Leaving GDB
  9328. > * Shell Commands::              Shell Commands
  9329. 71,72c72,73
  9330. < * File Options::        Choosing Files
  9331. < * Mode Options::        Choosing Modes
  9332. ---
  9333. > * File Options::                Choosing Files
  9334. > * Mode Options::                Choosing Modes
  9335. 76,77c77,78
  9336. < * Command Syntax::        Command Syntax
  9337. < * Help::            Getting Help
  9338. ---
  9339. > * Command Syntax::              Command Syntax
  9340. > * Help::                        Getting Help
  9341. 81,88c82,89
  9342. < * Compilation::            Compiling for Debugging
  9343. < * Starting::            Starting your Program
  9344. < * Arguments::            Your Program's Arguments
  9345. < * Environment::            Your Program's Environment
  9346. < * Working Directory::        Your Program's Working Directory
  9347. < * Input/Output::        Your Program's Input and Output
  9348. < * Attach::            Debugging an Already-Running Process
  9349. < * Kill Process::        Killing the Child Process
  9350. ---
  9351. > * Compilation::                 Compiling for Debugging
  9352. > * Starting::                    Starting your Program
  9353. > * Arguments::                   Your Program's Arguments
  9354. > * Environment::                 Your Program's Environment
  9355. > * Working Directory::           Your Program's Working Directory
  9356. > * Input/Output::                Your Program's Input and Output
  9357. > * Attach::                      Debugging an Already-Running Process
  9358. > * Kill Process::                Killing the Child Process
  9359. 92,94c93,95
  9360. < * Breakpoints::            Breakpoints, Watchpoints, and Exceptions
  9361. < * Continuing and Stepping::    Resuming Execution
  9362. < * Signals::            Signals
  9363. ---
  9364. > * Breakpoints::                 Breakpoints, Watchpoints, and Exceptions
  9365. > * Continuing and Stepping::     Resuming Execution
  9366. > * Signals::                     Signals
  9367. 98,106c99,107
  9368. < * Set Breaks::            Setting Breakpoints
  9369. < * Set Watchpoints::        Setting Watchpoints
  9370. < * Exception Handling::        Breakpoints and Exceptions
  9371. < * Delete Breaks::        Deleting Breakpoints
  9372. < * Disabling::            Disabling Breakpoints
  9373. < * Conditions::            Break Conditions
  9374. < * Break Commands::        Breakpoint Command Lists
  9375. < * Breakpoint Menus::        Breakpoint Menus
  9376. < * Error in Breakpoints::    
  9377. ---
  9378. > * Set Breaks::                  Setting Breakpoints
  9379. > * Set Watchpoints::             Setting Watchpoints
  9380. > * Exception Handling::          Breakpoints and Exceptions
  9381. > * Delete Breaks::               Deleting Breakpoints
  9382. > * Disabling::                   Disabling Breakpoints
  9383. > * Conditions::                  Break Conditions
  9384. > * Break Commands::              Breakpoint Command Lists
  9385. > * Breakpoint Menus::            Breakpoint Menus
  9386. > * Error in Breakpoints::        
  9387. 110,113c111,114
  9388. < * Frames::            Stack Frames
  9389. < * Backtrace::            Backtraces
  9390. < * Selection::            Selecting a Frame
  9391. < * Frame Info::            Information on a Frame
  9392. ---
  9393. > * Frames::                      Stack Frames
  9394. > * Backtrace::                   Backtraces
  9395. > * Selection::                   Selecting a Frame
  9396. > * Frame Info::                  Information on a Frame
  9397. 117,120c118,121
  9398. < * List::            Printing Source Lines
  9399. < * Search::            Searching Source Files
  9400. < * Source Path::            Specifying Source Directories
  9401. < * Machine Code::        Source and Machine Code
  9402. ---
  9403. > * List::                        Printing Source Lines
  9404. > * Search::                      Searching Source Files
  9405. > * Source Path::                 Specifying Source Directories
  9406. > * Machine Code::                Source and Machine Code
  9407. 124,134c125,135
  9408. < * Expressions::            Expressions
  9409. < * Variables::            Program Variables
  9410. < * Arrays::            Artificial Arrays
  9411. < * Output formats::        Output formats
  9412. < * Memory::            Examining Memory
  9413. < * Auto Display::        Automatic Display
  9414. < * Print Settings::        Print Settings
  9415. < * Value History::        Value History
  9416. < * Convenience Vars::        Convenience Variables
  9417. < * Registers::            Registers
  9418. < * Floating Point Hardware::    Floating Point Hardware
  9419. ---
  9420. > * Expressions::                 Expressions
  9421. > * Variables::                   Program Variables
  9422. > * Arrays::                      Artificial Arrays
  9423. > * Output formats::              Output formats
  9424. > * Memory::                      Examining Memory
  9425. > * Auto Display::                Automatic Display
  9426. > * Print Settings::              Print Settings
  9427. > * Value History::               Value History
  9428. > * Convenience Vars::            Convenience Variables
  9429. > * Registers::                   Registers
  9430. > * Floating Point Hardware::     Floating Point Hardware
  9431. 138,142c139,143
  9432. < * Assignment::            Assignment to Variables
  9433. < * Jumping::            Continuing at a Different Address
  9434. < * Signaling::            Giving the Program a Signal
  9435. < * Returning::            Returning from a Function
  9436. < * Calling::            Calling your Program's Functions
  9437. ---
  9438. > * Assignment::                  Assignment to Variables
  9439. > * Jumping::                     Continuing at a Different Address
  9440. > * Signaling::                   Giving the Program a Signal
  9441. > * Returning::                   Returning from a Function
  9442. > * Calling::                     Calling your Program's Functions
  9443. 146,147c147,148
  9444. < * Files::            Commands to Specify Files
  9445. < * Symbol Errors::        Errors Reading Symbol Files
  9446. ---
  9447. > * Files::                       Commands to Specify Files
  9448. > * Symbol Errors::               Errors Reading Symbol Files
  9449. 151,153c152,154
  9450. < * Active Targets::        Active Targets
  9451. < * Target Commands::        Commands for Managing Targets
  9452. < * Remote::            Remote Debugging
  9453. ---
  9454. > * Active Targets::              Active Targets
  9455. > * Target Commands::             Commands for Managing Targets
  9456. > * Remote::                      Remote Debugging
  9457. 157,159c158,160
  9458. < * i960-Nindy Remote::        
  9459. < * EB29K Remote::        
  9460. < * VxWorks Remote::        
  9461. ---
  9462. > * i960-Nindy Remote::           
  9463. > * EB29K Remote::                
  9464. > * VxWorks Remote::              
  9465. 163,165c164,166
  9466. < * Nindy Startup::        Startup with Nindy
  9467. < * Nindy Options::        Options for Nindy
  9468. < * Nindy reset::            Nindy Reset Command
  9469. ---
  9470. > * Nindy Startup::               Startup with Nindy
  9471. > * Nindy Options::               Options for Nindy
  9472. > * Nindy reset::                 Nindy Reset Command
  9473. 169,171c170,172
  9474. < * Comms (EB29K)::        Communications Setup
  9475. < * gdb-EB29K::            EB29K cross-debugging
  9476. < * Remote Log::            Remote Log
  9477. ---
  9478. > * Comms (EB29K)::               Communications Setup
  9479. > * gdb-EB29K::                   EB29K cross-debugging
  9480. > * Remote Log::                  Remote Log
  9481. 175,177c176,178
  9482. < * VxWorks connection::        Connecting to VxWorks
  9483. < * VxWorks download::        VxWorks Download
  9484. < * VxWorks attach::        Running Tasks
  9485. ---
  9486. > * VxWorks connection::          Connecting to VxWorks
  9487. > * VxWorks download::            VxWorks Download
  9488. > * VxWorks attach::              Running Tasks
  9489. 181,186c182,187
  9490. < * Prompt::            Prompt
  9491. < * Editing::            Command Editing
  9492. < * History::            Command History
  9493. < * Screen Size::            Screen Size
  9494. < * Numbers::            Numbers
  9495. < * Messages/Warnings::        Optional Warnings and Messages
  9496. ---
  9497. > * Prompt::                      Prompt
  9498. > * Editing::                     Command Editing
  9499. > * History::                     Command History
  9500. > * Screen Size::                 Screen Size
  9501. > * Numbers::                     Numbers
  9502. > * Messages/Warnings::           Optional Warnings and Messages
  9503. 190,192c191,193
  9504. < * Define::            User-Defined Commands
  9505. < * Command Files::        Command Files
  9506. < * Output::            Commands for Controlled Output
  9507. ---
  9508. > * Define::                      User-Defined Commands
  9509. > * Command Files::               Command Files
  9510. > * Output::                      Commands for Controlled Output
  9511. 196,197c197,198
  9512. < * Bug Criteria::        Have You Found a Bug?
  9513. < * Bug Reporting::        How to Report Bugs
  9514. ---
  9515. > * Bug Criteria::                Have You Found a Bug?
  9516. > * Bug Reporting::               How to Report Bugs
  9517. 223c224
  9518. <    GDB can be used to debug programs written in C and C++.  Pascal
  9519. ---
  9520. >    You can use GDB to debug programs written in C and C++.  Modula-2
  9521. 229,230c230,231
  9522. < * Free Software::        Free Software
  9523. < * Contributors::        Contributors to GDB
  9524. ---
  9525. > * Free Software::               Free Software
  9526. > * Contributors::                Contributors to GDB
  9527. 275,278c276,280
  9528. < John Gilmore (release 4.0); Jim Kingdon (releases 3.9, 3.5, 3.4,
  9529. < 3.3); and Randy Smith (releases 3.2, 3.1, 3.0).  As major maintainer
  9530. < of GDB for some period, each contributed significantly to the
  9531. < structure, stability, and capabilities of the entire debugger.
  9532. ---
  9533. > John Gilmore (release 4.0; happy birthday, John!); Jim Kingdon
  9534. > (releases 3.9, 3.5, 3.4, 3.3); and Randy Smith (releases 3.2, 3.1,
  9535. > 3.0).  As major maintainer of GDB for some period, each contributed
  9536. > significantly
  9537. > to the structure, stability, and capabilities of the entire debugger.
  9538. 305,309c307,312
  9539. < contributed Convex support (and Fortran debugging).  Jonathan Stone
  9540. < contributed Pyramid support.  Michael Tiemann contributed SPARC
  9541. < support.  Tim Tucker contributed support for the Gould NP1 and Gould
  9542. < Powernode.  Pace Willison contributed Intel 386 support.  Jay
  9543. < Vosburgh contributed Symmetry support.
  9544. ---
  9545. > contributed
  9546. > Convex support (and Fortran debugging).  Jonathan Stone contributed
  9547. > Pyramid support.  Michael Tiemann contributed SPARC support.  Tim
  9548. > Tucker contributed support for the Gould NP1 and Gould Powernode. 
  9549. > Pace Willison contributed Intel 386 support.  Jay Vosburgh
  9550. > contributed Symmetry support.
  9551. 333,336c336,344
  9552. <      TCP/IP connection, etc.  Internally, GDB now uses a function
  9553. <      vector to mediate access to different targets; if you need to
  9554. <      add your own support for a remote protocol, this makes it much
  9555. <      easier.
  9556. ---
  9557. >      TCP/IP connection, etc.  The command `load' can download
  9558. >      programs into a remote system.  Serial stubs are available for
  9559. >      Motorola 680x0 and Intel 80386 remote systems; GDB also
  9560. >      supports debugging realtime processes running under VxWorks,
  9561. >      using SunRPC Remote Procedure Calls over TCP/IP to talk to a
  9562. >      debugger stub on the target system.  Internally, GDB now uses a
  9563. >      function vector to mediate access to different targets; if you
  9564. >      need to add your own support for a remote protocol, this makes
  9565. >      it much easier.
  9566. 343a352,355
  9567. > *Wide Output*
  9568. >      Commands that issue wide output now insert newlines at places
  9569. >      designed to make the output more readable.
  9570. 345c357
  9571. <      GDB uses a new scheme called the Binary File Descriptor (BFD)
  9572. ---
  9573. >      GDB uses a new library called the Binary File Descriptor (BFD)
  9574. 354c366
  9575. < *Configuration*
  9576. ---
  9577. > *Configuration and Ports*
  9578. 358c370,371
  9579. <      a cross-debugger.
  9580. ---
  9581. >      a cross-debugger. *Note Installing GDB:: for details on how to
  9582. >      configure and on what architectures are now available.
  9583. 369,372c382,387
  9584. < *Source Language*
  9585. <      GDB now has limited support for C++ exception handling: GDB can
  9586. <      break when an exception is raised, before the stack is peeled
  9587. <      back to the exception handler's context.
  9588. ---
  9589. > *C++*
  9590. >      GDB now supports C++ multiple inheritance (if used with a GCC
  9591. >      version 2 compiler), and also has limited support for C++
  9592. >      exception handling, with the commands `catch' and `info catch':
  9593. >      GDB can break when an exception is raised, before the stack is
  9594. >      peeled back to the exception handler's context.
  9595. 382,389d396
  9596. < *Ports*
  9597. <      GDB has been ported to the following new architectures: AT&T
  9598. <      3b1, Acorn RISC machine, HP300 running HPUX, big- and
  9599. <      little-endian MIPS machines, Motorola 88k, Sun 386i, and Sun 3
  9600. <     
  9601. <      running SunOS 4.  In addition, the following are supported as
  9602. <      targets only: AMD 29k, Intel 960, and Wind River's VxWorks.
  9603. 391c398,404
  9604. <      GDB 4.0 supports SunOS shared libraries.
  9605. ---
  9606. >      GDB 4.0 can debug programs and core files that use SunOS shared
  9607. >      libraries.  You can load symbols from a shared library with the
  9608. >      command `sharedlibrary' (*note Files::.).
  9609. > *Reference Card*
  9610. >      GDB 4.0 has a reference card; *Note Formatting Manual:: for
  9611. >      instructions on printing it.
  9612. 405c418,419
  9613. < debugger.  This chapter illustrates these commands.
  9614. ---
  9615. > debugger.
  9616. > This chapter illustrates these commands.
  9617. 609,611c623,625
  9618. < * Starting GDB::        Starting GDB
  9619. < * Leaving GDB::            Leaving GDB
  9620. < * Shell Commands::        Shell Commands
  9621. ---
  9622. > * Starting GDB::            Starting GDB
  9623. > * Leaving GDB::                     Leaving GDB
  9624. > * Shell Commands::              Shell Commands
  9625. 632a647,654
  9626. >    You can, instead, specify a process ID as a second argument, if
  9627. > you want to debug a running process:
  9628. >      gdb program 1234
  9629. > would attach GDB to process `1234' (unless you also have a file named
  9630. > `1234'; GDB does check for a core file first).
  9631. 647,648c669,670
  9632. < * File Options::        Choosing Files
  9633. < * Mode Options::        Choosing Modes
  9634. ---
  9635. > * File Options::                Choosing Files
  9636. > * Mode Options::                Choosing Modes
  9637. 801,802c823,824
  9638. < * Command Syntax::        Command Syntax
  9639. < * Help::            Getting Help
  9640. ---
  9641. > * Command Syntax::              Command Syntax
  9642. > * Help::                        Getting Help
  9643. 835a858,863
  9644. >    GDB can also use RET in another way: to partition lengthy output,
  9645. > in a way similar to the common utility `more' (*note Screen
  9646. > Size::.).  Since it's easy to press one RET too many in this
  9647. > situation, GDB disables command repetition after any command that
  9648. > generates this sort of display.
  9649. 945,952c973,980
  9650. < * Compilation::            Compiling for Debugging
  9651. < * Starting::            Starting your Program
  9652. < * Arguments::            Your Program's Arguments
  9653. < * Environment::            Your Program's Environment
  9654. < * Working Directory::        Your Program's Working Directory
  9655. < * Input/Output::        Your Program's Input and Output
  9656. < * Attach::            Debugging an Already-Running Process
  9657. < * Kill Process::        Killing the Child Process
  9658. ---
  9659. > * Compilation::                 Compiling for Debugging
  9660. > * Starting::                    Starting your Program
  9661. > * Arguments::                   Your Program's Arguments
  9662. > * Environment::                 Your Program's Environment
  9663. > * Working Directory::           Your Program's Working Directory
  9664. > * Input/Output::                Your Program's Input and Output
  9665. > * Attach::                      Debugging an Already-Running Process
  9666. > * Kill Process::                Killing the Child Process
  9667. 1018,1019c1046
  9668. <      environment
  9669. <      variable. *Note Arguments::.
  9670. ---
  9671. >      environment variable. *Note Arguments::.
  9672. 1310,1355c1337,1339
  9673. < * Breakpoints::            Breakpoints, Watchpoints, and Exceptions
  9674. < * Continuing and Stepping::    Resuming Execution
  9675. < * Signals::            Signals
  9676. < 
  9677. < File: gdb.info,  Node: Breakpoints,  Next: Continuing and Stepping,  Prev: Stopping,  Up: Stopping
  9678. < Breakpoints, Watchpoints, and Exceptions
  9679. < ========================================
  9680. <    A "breakpoint" makes your program stop whenever a certain point in
  9681. < the program is reached.  For each breakpoint, you can add various
  9682. < conditions to control in finer detail whether the program will stop.
  9683. < You can set breakpoints with the `break' command and its variants
  9684. < (*note Set Breaks::.), to specify the place where the program should
  9685. < stop by line number, function name or exact address in the program. 
  9686. < In languages with exception handling (such as GNU C++), you can also
  9687. < set breakpoints  where an exception is raised (*note Exception
  9688. < Handling::.).
  9689. <    A "watchpoint" is a special breakpoint that stops your program
  9690. < when the value of an expression changes.  You must use a different
  9691. < command to set watchpoints (*note Set Watchpoints::.), but aside
  9692. < from that, you can manage a watchpoint like any other breakpoint:
  9693. < you enable, disable, and delete both breakpoints and watchpoints
  9694. < using the same commands.
  9695. <    Each breakpoint or watchpoint is assigned a number when it is
  9696. < created; these numbers are successive integers starting with one. 
  9697. < In many of the commands for controlling various features of
  9698. < breakpoints you use the breakpoint number to say which breakpoint
  9699. < you want to change.  Each breakpoint may be "enabled" or "disabled";
  9700. < if
  9701. < disabled, it has no effect on the program until you enable it again.
  9702. < * Menu:
  9703. < * Set Breaks::            Setting Breakpoints
  9704. < * Set Watchpoints::        Setting Watchpoints
  9705. < * Exception Handling::        Breakpoints and Exceptions
  9706. < * Delete Breaks::        Deleting Breakpoints
  9707. < * Disabling::            Disabling Breakpoints
  9708. < * Conditions::            Break Conditions
  9709. < * Break Commands::        Breakpoint Command Lists
  9710. < * Breakpoint Menus::        Breakpoint Menus
  9711. < * Error in Breakpoints::    
  9712. ---
  9713. > * Breakpoints::                 Breakpoints, Watchpoints, and Exceptions
  9714. > * Continuing and Stepping::     Resuming Execution
  9715. > * Signals::                     Signals
  9716. diff -r gdb-3.98/gdb/gdb.info-2 gdb-4.0/gdb/gdb.info-2
  9717. 2c2
  9718. < file gdb-all.texinfo.
  9719. ---
  9720. > file gdb-all.texi.
  9721. 27a28,70
  9722. > File: gdb.info,  Node: Breakpoints,  Next: Continuing and Stepping,  Prev: Stopping,  Up: Stopping
  9723. > Breakpoints, Watchpoints, and Exceptions
  9724. > ========================================
  9725. >    A "breakpoint" makes your program stop whenever a certain point in
  9726. > the program is reached.  For each breakpoint, you can add various
  9727. > conditions to control in finer detail whether the program will stop.
  9728. > You can set breakpoints with the `break' command and its variants
  9729. > (*note Set Breaks::.), to specify the place where the program should
  9730. > stop by line number, function name or exact address in the program. 
  9731. > In languages with exception handling (such as GNU C++), you can also
  9732. > set breakpoints  where an exception is raised (*note Exception
  9733. > Handling::.).
  9734. >    A "watchpoint" is a special breakpoint that stops your program
  9735. > when the value of an expression changes.  You must use a different
  9736. > command to set watchpoints (*note Set Watchpoints::.), but aside
  9737. > from that, you can manage a watchpoint like any other breakpoint:
  9738. > you enable, disable, and delete both breakpoints and watchpoints
  9739. > using the same commands.
  9740. >    Each breakpoint or watchpoint is assigned a number when it is
  9741. > created; these numbers are successive integers starting with one. 
  9742. > In many of the commands for controlling various features of
  9743. > breakpoints you use the breakpoint number to say which breakpoint
  9744. > you want to change.  Each breakpoint may be "enabled" or "disabled";
  9745. > if
  9746. > disabled, it has no effect on the program until you enable it again.
  9747. > * Menu:
  9748. > * Set Breaks::                  Setting Breakpoints
  9749. > * Set Watchpoints::             Setting Watchpoints
  9750. > * Exception Handling::          Breakpoints and Exceptions
  9751. > * Delete Breaks::               Deleting Breakpoints
  9752. > * Disabling::                   Disabling Breakpoints
  9753. > * Conditions::                  Break Conditions
  9754. > * Break Commands::              Breakpoint Command Lists
  9755. > * Breakpoint Menus::            Breakpoint Menus
  9756. > * Error in Breakpoints::
  9757. > 
  9758. 73a117
  9759. >     
  9760. 104,107c148,149
  9761. <      REGEX.  This is useful for setting breakpoints on overloaded
  9762. <      functions that are not members of any special classes.  This
  9763. <      command sets an unconditional breakpoint on all matches,
  9764. <      printing a list of all breakpoints it set. Once these
  9765. ---
  9766. >      REGEX.  This command sets an unconditional breakpoint on all
  9767. >      matches, printing a list of all breakpoints it set. Once these
  9768. 111a154,157
  9769. >      When debugging C++ programs, `rbreak' is useful for setting
  9770. >      breakpoints on overloaded functions that are not members of any
  9771. >      special classes.
  9772. 119a166
  9773. >     
  9774. 160,161c207,208
  9775. < GDB can be used to examine what caused the program to raise an
  9776. < exception and to list the exceptions the program is prepared to
  9777. ---
  9778. > You can use GDB to examine what caused the program to raise an
  9779. > exception, and to list the exceptions the program is prepared to
  9780. 194c241
  9781. < knowledge of the implementation.  In the case of GNU C++ exceptions
  9782. ---
  9783. > knowledge of the implementation.  In the case of GNU C++, exceptions
  9784. 669c716
  9785. <           206            expand_input();
  9786. ---
  9787. >           206                 expand_input();
  9788. 671c718
  9789. <           195        for ( ; argc > 0; NEXTARG) {
  9790. ---
  9791. >           195             for ( ; argc > 0; NEXTARG) {
  9792. 674a722
  9793. >     
  9794. 829,832c877,880
  9795. < * Frames::            Stack Frames
  9796. < * Backtrace::            Backtraces
  9797. < * Selection::            Selecting a Frame
  9798. < * Frame Info::            Information on a Frame
  9799. ---
  9800. > * Frames::                      Stack Frames
  9801. > * Backtrace::                   Backtraces
  9802. > * Selection::                   Selecting a Frame
  9803. > * Frame Info::                  Information on a Frame
  9804. 1065,1068c1113,1116
  9805. < * List::            Printing Source Lines
  9806. < * Search::            Searching Source Files
  9807. < * Source Path::            Specifying Source Directories
  9808. < * Machine Code::        Source and Machine Code
  9809. ---
  9810. > * List::                        Printing Source Lines
  9811. > * Search::                      Searching Source Files
  9812. > * Source Path::                 Specifying Source Directories
  9813. > * Machine Code::                Source and Machine Code
  9814. 1189,1250d1236
  9815. < 
  9816. < File: gdb.info,  Node: Source Path,  Next: Machine Code,  Prev: Search,  Up: Source
  9817. < Specifying Source Directories
  9818. < =============================
  9819. <    Executable programs sometimes do not record the directories of the
  9820. < source files from which they were compiled, just the names.  Even
  9821. < when they do, the directories could be moved between the compilation
  9822. < and your debugging session.  GDB has a list of directories to search
  9823. < for source files; this is called the "source path".  Each time GDB
  9824. < wants a source file, it tries all the directories in the list, in
  9825. < the order they are present in the list, until it finds a file with
  9826. < the desired name.  Note that the executable search path is *not*
  9827. < used for this purpose.  Neither is the current working directory,
  9828. < unless it happens to be in the source path.
  9829. <    If GDB can't find a source file in the source path, and the object
  9830. < program records a directory, GDB tries that directory too.  If the
  9831. < source path is empty, and there is no record of the compilation
  9832. < directory, GDB will, as a last resort, look in the current directory.
  9833. <    Whenever you reset or rearrange the source path, GDB will clear
  9834. < out any information it has cached about where source files are
  9835. < found, where each line is in the file, etc.
  9836. <    When you start GDB, its source path is empty.  To add other
  9837. < directories, use the `directory' command.
  9838. < `directory DIRNAME ...'
  9839. <      Add directory DIRNAME to the front of the source path.  Several
  9840. <      directory names may be given to this command, separated by `:'
  9841. <      or whitespace.  You may specify a directory that is already in
  9842. <      the source path; this moves it forward, so it will be searched
  9843. <      sooner.
  9844. <      You can use the string `$cdir' to refer to the compilation
  9845. <      directory (if one is recorded), and `$cwd' to refer to the
  9846. <      current working directory.  `$cwd' is not the same as `.'--the
  9847. <      former tracks the current working directory as it changes
  9848. <      during your GDB session, while the latter is immediately
  9849. <      expanded to the current directory at the time you add an entry
  9850. <      to the source path.
  9851. < `directory'
  9852. <      Reset the source path to empty again.  This requires confirmation.
  9853. < `show directories'
  9854. <      Print the source path: show which directories it contains.
  9855. <    If your source path is cluttered with directories that are no
  9856. < longer
  9857. < of interest, GDB may sometimes cause confusion by finding the wrong
  9858. < versions of source.  You can correct the situation as follows:
  9859. <   1. Use `directory' with no argument to reset the source path to
  9860. <      empty.
  9861. <   2. Use `directory' with suitable arguments to reinstall the
  9862. <      directories you want in the source path.  You can add all the
  9863. <      directories in one command.
  9864. diff -r gdb-3.98/gdb/gdb.info-3 gdb-4.0/gdb/gdb.info-3
  9865. 2c2
  9866. < file gdb-all.texinfo.
  9867. ---
  9868. > file gdb-all.texi.
  9869. 27a28,89
  9870. > File: gdb.info,  Node: Source Path,  Next: Machine Code,  Prev: Search,  Up: Source
  9871. > Specifying Source Directories
  9872. > =============================
  9873. >    Executable programs sometimes do not record the directories of the
  9874. > source files from which they were compiled, just the names.  Even
  9875. > when they do, the directories could be moved between the compilation
  9876. > and your debugging session.  GDB has a list of directories to search
  9877. > for source files; this is called the "source path".  Each time GDB
  9878. > wants a source file, it tries all the directories in the list, in
  9879. > the order they are present in the list, until it finds a file with
  9880. > the desired name.  Note that the executable search path is *not*
  9881. > used for this purpose.  Neither is the current working directory,
  9882. > unless it happens to be in the source path.
  9883. >    If GDB can't find a source file in the source path, and the object
  9884. > program records a directory, GDB tries that directory too.  If the
  9885. > source path is empty, and there is no record of the compilation
  9886. > directory, GDB will, as a last resort, look in the current directory.
  9887. >    Whenever you reset or rearrange the source path, GDB will clear
  9888. > out any information it has cached about where source files are
  9889. > found, where each line is in the file, etc.
  9890. >    When you start GDB, its source path is empty.  To add other
  9891. > directories, use the `directory' command.
  9892. > `directory DIRNAME ...'
  9893. >      Add directory DIRNAME to the front of the source path.  Several
  9894. >      directory names may be given to this command, separated by `:'
  9895. >      or whitespace.  You may specify a directory that is already in
  9896. >      the source path; this moves it forward, so it will be searched
  9897. >      sooner.
  9898. >      You can use the string `$cdir' to refer to the compilation
  9899. >      directory (if one is recorded), and `$cwd' to refer to the
  9900. >      current working directory.  `$cwd' is not the same as `.'--the
  9901. >      former tracks the current working directory as it changes
  9902. >      during your GDB session, while the latter is immediately
  9903. >      expanded to the current directory at the time you add an entry
  9904. >      to the source path.
  9905. > `directory'
  9906. >      Reset the source path to empty again.  This requires confirmation.
  9907. > `show directories'
  9908. >      Print the source path: show which directories it contains.
  9909. >    If your source path is cluttered with directories that are no
  9910. > longer
  9911. > of interest, GDB may sometimes cause confusion by finding the wrong
  9912. > versions of source.  You can correct the situation as follows:
  9913. >   1. Use `directory' with no argument to reset the source path to
  9914. >      empty.
  9915. >   2. Use `directory' with suitable arguments to reinstall the
  9916. >      directories you want in the source path.  You can add all the
  9917. >      directories in one command.
  9918. > 
  9919. 75,82c137,144
  9920. <      0x63e4 builtin_init+5340:    ble 0x63f8 builtin_init+5360
  9921. <      0x63e8 builtin_init+5344:    sethi %hi(0x4c00), %o0
  9922. <      0x63ec builtin_init+5348:    ld [%i1+4], %o0
  9923. <      0x63f0 builtin_init+5352:    b 0x63fc builtin_init+5364
  9924. <      0x63f4 builtin_init+5356:    ld [%o0+4], %o0
  9925. <      0x63f8 builtin_init+5360:    or %o0, 0x1a4, %o0
  9926. <      0x63fc builtin_init+5364:    call 0x9288 path_search
  9927. <      0x6400 builtin_init+5368:    nop 
  9928. ---
  9929. >      0x63e4 builtin_init+5340:     ble 0x63f8 builtin_init+5360
  9930. >      0x63e8 builtin_init+5344:     sethi %hi(0x4c00), %o0
  9931. >      0x63ec builtin_init+5348:     ld [%i1+4], %o0
  9932. >      0x63f0 builtin_init+5352:     b 0x63fc builtin_init+5364
  9933. >      0x63f4 builtin_init+5356:     ld [%o0+4], %o0
  9934. >      0x63f8 builtin_init+5360:     or %o0, 0x1a4, %o0
  9935. >      0x63fc builtin_init+5364:     call 0x9288 path_search
  9936. >      0x6400 builtin_init+5368:     nop 
  9937. 87c149
  9938. < File: gdb.info,  Node: Data,  Next: Symbols,  Prev: Source,  Up: Top
  9939. ---
  9940. > File: gdb.info,  Node: Data,  Next: Cplusplus,  Prev: Source,  Up: Top
  9941. 93,95c155,156
  9942. < command
  9943. < (abbreviated `p'), or its synonym `inspect'.  It evaluates and
  9944. < prints the value of any valid expression of the language the program
  9945. ---
  9946. > command (abbreviated `p'), or its synonym `inspect'.  It evaluates
  9947. > and prints the value of an expression of the language your program
  9948. 100,101c161,162
  9949. < where EXP is any valid expression (in the source language), and the
  9950. < value of EXP is printed in a format appropriate to its data type.
  9951. ---
  9952. > where EXP is an expression (in the source language), and the value of
  9953. > EXP is printed in a format appropriate to its data type.
  9954. 106a168,171
  9955. >    If you're interested in information about types, or about how the
  9956. > fields of a struct or class are declared, use the `ptype EXP'
  9957. > command rather than `print'. *Note Symbols::.
  9958. 109,119c174,184
  9959. < * Expressions::            Expressions
  9960. < * Variables::            Program Variables
  9961. < * Arrays::            Artificial Arrays
  9962. < * Output formats::        Output formats
  9963. < * Memory::            Examining Memory
  9964. < * Auto Display::        Automatic Display
  9965. < * Print Settings::        Print Settings
  9966. < * Value History::        Value History
  9967. < * Convenience Vars::        Convenience Variables
  9968. < * Registers::            Registers
  9969. < * Floating Point Hardware::    Floating Point Hardware
  9970. ---
  9971. > * Expressions::                 Expressions
  9972. > * Variables::                   Program Variables
  9973. > * Arrays::                      Artificial Arrays
  9974. > * Output formats::              Output formats
  9975. > * Memory::                      Examining Memory
  9976. > * Auto Display::                Automatic Display
  9977. > * Print Settings::              Print Settings
  9978. > * Value History::               Value History
  9979. > * Convenience Vars::            Convenience Variables
  9980. > * Registers::                   Registers
  9981. > * Floating Point Hardware::     Floating Point Hardware
  9982. 132,133c197
  9983. < include symbols defined by preprocessor `#define' commands,
  9984. < or C++ expressions involving `::', the name resolution operator.
  9985. ---
  9986. > include symbols defined by preprocessor `#define' commands.
  9987. 566c630
  9988. <           530        if (lquote != def_lquote)
  9989. ---
  9990. >           530         if (lquote != def_lquote)
  9991. 576c640
  9992. <           530        if (lquote != def_lquote)
  9993. ---
  9994. >           530         if (lquote != def_lquote)
  9995. 855c919
  9996. <    Machine register contents can be referred to in expressions as
  9997. ---
  9998. >    You can refer to machine register contents, in expressions, as
  9999. 862,863c926,927
  10000. <      Print the names and values of all registers (in the selected
  10001. <      stack frame).
  10002. ---
  10003. >      Print the names and values of all registers except
  10004. >      floating-point registers (in the selected stack frame).
  10005. 864a929,932
  10006. > `info all-registers'
  10007. >      Print the names and values of all registers, including
  10008. >      floating-point registers.
  10009. 947c1015,1120
  10010. < File: gdb.info,  Node: Symbols,  Next: Altering,  Prev: Data,  Up: Top
  10011. ---
  10012. > File: gdb.info,  Node: Cplusplus,  Next: Symbols,  Prev: Data,  Up: Top
  10013. > C++ and GDB
  10014. > ***********
  10015. >    GDB includes facilities to let you debug C++ programs naturally
  10016. > and easily.  The GNU C++ compiler and GDB implement the support for
  10017. > these facilities together.  Therefore, to debug your C++ code most
  10018. > effectively, you must compile your C++ programs with the GNU C++
  10019. > compiler, `g++'.
  10020. > * Menu:
  10021. > * Cplusplus expressions::               C++ Expressions
  10022. > * Cplusplus commands::          GDB Commands for C++
  10023. > 
  10024. > File: gdb.info,  Node: Cplusplus expressions,  Next: Cplusplus commands,  Prev: Cplusplus,  Up: Cplusplus
  10025. > C++ Expressions
  10026. > ===============
  10027. >    Since C++ is closely related to C, all the facilities for
  10028. > evaluating C expressions (*note Expressions::.) continue to work in
  10029. > C++.  GDB's expression handling also has the following extensions to
  10030. > interpret a significant subset of C++ expressions:
  10031. >   1. Member function calls are allowed; you can use expressions like
  10032. >           count = aml->GetOriginal(x, y)
  10033. >   2. While a member function is active (in the selected stack frame),
  10034. >      your expressions have the same namespace available as the
  10035. >      member function; that is, GDB allows implicit references to the
  10036. >      class instance pointer `this' following the same rules as C++.
  10037. >   3. You can call overloaded functions; GDB will resolve the function
  10038. >      call to the right definition, with one restriction--you must
  10039. >      use arguments of the type required by the function that you
  10040. >      want to call.  GDB will not perform conversions requiring
  10041. >      constructors or user-defined type operators.
  10042. >   4. GDB understands variables declared as C++ references; you can
  10043. >      use them in expressions just as you do in C++ source--they are
  10044. >      automatically dereferenced.
  10045. >         In the parameter list shown when GDB displays a frame, the
  10046. >      values of reference variables are not displayed (unlike other
  10047. >      variables); this avoids clutter, since references are often
  10048. >      used for large structures.  The *address* of a reference
  10049. >      variable is always shown, unless you've specified `set print
  10050. >      address off'.
  10051. >   5. GDB supports the C++ name resolution operator `::'--your
  10052. >      expressions can use it just as expressions in your program do. 
  10053. >      GDB also allows resolving name scope by reference to source
  10054. >      files, in both C and C++ debugging; *note Variables::..
  10055. > 
  10056. > File: gdb.info,  Node: Cplusplus commands,  Prev: Cplusplus expressions,  Up: Cplusplus
  10057. > GDB Commands for C++
  10058. > ====================
  10059. >    Some GDB commands are particularly useful with C++, and some are
  10060. > designed specifically for use with C++.  Here is a summary:
  10061. > `breakpoint menus'
  10062. >      When you want a breakpoint in a function whose name is
  10063. >      overloaded, GDB's breakpoint menus help you specify which
  10064. >      function definition you want.  *Note Breakpoint Menus::.
  10065. > `rbreak REGEX'
  10066. >      Setting breakpoints using regular expressions is helpful for
  10067. >      setting breakpoints on overloaded functions that are not
  10068. >      members of any special classes.  *Note Set Breaks::.
  10069. > `catch EXCEPTIONS'
  10070. > `info catch'
  10071. >      Debug C++ exception handling using these commands.  *Note
  10072. >      Exception Handling::.
  10073. > `ptype TYPENAME'
  10074. >      Print inheritance relationships as well as other information for
  10075. >      type TYPENAME.  *Note Symbols::.
  10076. > `set print demangle'
  10077. > `show print demangle'
  10078. > `set print asm-demangle'
  10079. > `show print asm-demangle'
  10080. >      Control whether C++ symbols display in their source form, both
  10081. >      when displaying code as C++ source and when displaying
  10082. >      disassemblies.  *Note Print Settings::.
  10083. > `set print object'
  10084. > `show print object'
  10085. >      Choose whether to print derived (actual) or declared types of
  10086. >      objects.  *Note Print Settings::.
  10087. > `set print vtbl'
  10088. > `show print vtbl'
  10089. >      Control the format for printing virtual function tables.  *Note
  10090. >      Print Settings::.
  10091. > 
  10092. > File: gdb.info,  Node: Symbols,  Next: Altering,  Prev: Cplusplus,  Up: Top
  10093. 1024,1026c1197,1199
  10094. <      there is debugging information, organized into two lists: those
  10095. <      for which symbols have been read in, and those for which
  10096. <      symbols will be read in on demand.
  10097. ---
  10098. >      there is debugging information, organized into two lists: files
  10099. >      whose symbols have already been read, and files whose symbols
  10100. >      will be read when needed.
  10101. 1047,1048c1220,1226
  10102. <      Write a complete dump of the debugger's symbol data into the
  10103. <      file FILENAME.
  10104. ---
  10105. >      Write a dump of debugging symbol data into the file FILENAME. 
  10106. >      Only symbols with debugging data are included.  GDB includes
  10107. >      all the symbols it already knows about: that is, FILENAME
  10108. >      reflects symbols for only those files whose symbols GDB has read.
  10109. >      You can find out which files these are using the command `info
  10110. >      files'.  The description of `symbol-file' describes how GDB
  10111. >      reads symbols; both commands are described under *Note Files::.
  10112. 1068,1072c1246,1250
  10113. < * Assignment::            Assignment to Variables
  10114. < * Jumping::            Continuing at a Different Address
  10115. < * Signaling::            Giving the Program a Signal
  10116. < * Returning::            Returning from a Function
  10117. < * Calling::            Calling your Program's Functions
  10118. ---
  10119. > * Assignment::                  Assignment to Variables
  10120. > * Jumping::                     Continuing at a Different Address
  10121. > * Signaling::                   Giving the Program a Signal
  10122. > * Returning::                   Returning from a Function
  10123. > * Calling::                     Calling your Program's Functions
  10124. 1134,1253d1311
  10125. < 
  10126. < File: gdb.info,  Node: Jumping,  Next: Signaling,  Prev: Assignment,  Up: Altering
  10127. < Continuing at a Different Address
  10128. < =================================
  10129. <    Ordinarily, when you continue the program, you do so at the place
  10130. < where it stopped, with the `continue' command.  You can instead
  10131. < continue at an address of your own choosing, with the following
  10132. < commands:
  10133. < `jump LINESPEC'
  10134. <      Resume execution at line LINESPEC.  Execution will stop
  10135. <      immediately if there is a breakpoint there.  *Note List:: for a
  10136. <      description of the different forms of LINESPEC.
  10137. <      The `jump' command does not change the current stack frame, or
  10138. <      the stack pointer, or the contents of any memory location or
  10139. <      any register other than the program counter.  If line LINESPEC
  10140. <      is in a different function from the one currently executing,
  10141. <      the results may be bizarre if the two functions expect
  10142. <      different patterns of arguments or of local variables.  For
  10143. <      this
  10144. <      reason, the `jump' command requests confirmation if the
  10145. <      specified line is not in the function currently executing. 
  10146. <      However, even bizarre results are predictable if you are well
  10147. <      acquainted with the machine-language code of the program.
  10148. < `jump *ADDRESS'
  10149. <      Resume execution at the instruction at address ADDRESS.
  10150. <    You can get much the same effect as the `jump' command by storing
  10151. < a new value into the register `$pc'.  The difference is that this
  10152. < does not start the program running; it only changes the address
  10153. < where it *will* run when it is continued.  For example,
  10154. <      set $pc = 0x485
  10155. < causes the next `continue' command or stepping command to execute at
  10156. < address 0x485, rather than at the address where the program stopped.
  10157. < *Note Continuing and Stepping::.
  10158. <    The most common occasion to use the `jump' command is to back up,
  10159. < perhaps with more breakpoints set, over a portion of a program that
  10160. < has already executed, in order to examine its execution in more
  10161. < detail.
  10162. < 
  10163. < File: gdb.info,  Node: Signaling,  Next: Returning,  Prev: Jumping,  Up: Altering
  10164. < Giving the Program a Signal
  10165. < ===========================
  10166. < `signal SIGNALNUM'
  10167. <      Resume execution where the program stopped, but give it
  10168. <      immediately the signal number SIGNALNUM.
  10169. <      Alternatively, if SIGNALNUM is zero, continue execution without
  10170. <      giving a signal.  This is useful when the program stopped on
  10171. <      account of a signal and would ordinary see the signal when
  10172. <      resumed with the `continue' command; `signal 0' causes it to
  10173. <      resume without a signal.
  10174. <      `signal' does not repeat when you press RET a second time after
  10175. <      executing the command.
  10176. < 
  10177. < File: gdb.info,  Node: Returning,  Next: Calling,  Prev: Signaling,  Up: Altering
  10178. < Returning from a Function
  10179. < =========================
  10180. < `return'
  10181. < `return EXPRESSION'
  10182. <      You can cancel execution of a function call with the `return'
  10183. <      command.  If you give an EXPRESSION argument, its value is used
  10184. <      as the function's return value.
  10185. <    When you use `return', GDB discards the selected stack frame (and
  10186. < all frames within it).  You can think of this as making the
  10187. < discarded frame return prematurely.  If you wish to specify a value
  10188. < to be returned, give that value as the argument to `return'.
  10189. <    This pops the selected stack frame (*note Selection::.), and any
  10190. < other frames inside of it, leaving its caller as the innermost
  10191. < remaining frame.  That frame becomes selected.  The specified value
  10192. < is stored in the registers used for returning values of functions.
  10193. <    The `return' command does not resume execution; it leaves the
  10194. < program stopped in the state that would exist if the function had
  10195. < just returned.  In contrast, the `finish' command (*note Continuing
  10196. < and Stepping::.) resumes execution until the selected stack frame
  10197. < returns naturally.
  10198. < 
  10199. < File: gdb.info,  Node: Calling,  Prev: Returning,  Up: Altering
  10200. < Calling your Program's Functions
  10201. < ================================
  10202. < `call EXPR'
  10203. <      Evaluate the expression EXPR without displaying `void' returned
  10204. <      values.
  10205. <    You can use this variant of the `print' command if you want to
  10206. < execute a function from your program, but without cluttering the
  10207. < output with `void' returned values.  The result is printed and saved
  10208. < in the value history, if it is not void.
  10209. < 
  10210. < File: gdb.info,  Node: GDB Files,  Next: Targets,  Prev: Altering,  Up: Top
  10211. < GDB's Files
  10212. < ***********
  10213. < * Menu:
  10214. < * Files::            Commands to Specify Files
  10215. < * Symbol Errors::        Errors Reading Symbol Files
  10216. diff -r gdb-3.98/gdb/gdb.info-4 gdb-4.0/gdb/gdb.info-4
  10217. 2c2
  10218. < file gdb-all.texinfo.
  10219. ---
  10220. > file gdb-all.texi.
  10221. 27a28,147
  10222. > File: gdb.info,  Node: Jumping,  Next: Signaling,  Prev: Assignment,  Up: Altering
  10223. > Continuing at a Different Address
  10224. > =================================
  10225. >    Ordinarily, when you continue the program, you do so at the place
  10226. > where it stopped, with the `continue' command.  You can instead
  10227. > continue at an address of your own choosing, with the following
  10228. > commands:
  10229. > `jump LINESPEC'
  10230. >      Resume execution at line LINESPEC.  Execution will stop
  10231. >      immediately if there is a breakpoint there.  *Note List:: for a
  10232. >      description of the different forms of LINESPEC.
  10233. >      The `jump' command does not change the current stack frame, or
  10234. >      the stack pointer, or the contents of any memory location or
  10235. >      any register other than the program counter.  If line LINESPEC
  10236. >      is in a different function from the one currently executing,
  10237. >      the results may be bizarre if the two functions expect
  10238. >      different patterns of arguments or of local variables.  For
  10239. >      this
  10240. >      reason, the `jump' command requests confirmation if the
  10241. >      specified line is not in the function currently executing. 
  10242. >      However, even bizarre results are predictable if you are well
  10243. >      acquainted with the machine-language code of the program.
  10244. > `jump *ADDRESS'
  10245. >      Resume execution at the instruction at address ADDRESS.
  10246. >    You can get much the same effect as the `jump' command by storing
  10247. > a new value into the register `$pc'.  The difference is that this
  10248. > does not start the program running; it only changes the address
  10249. > where it *will* run when it is continued.  For example,
  10250. >      set $pc = 0x485
  10251. > causes the next `continue' command or stepping command to execute at
  10252. > address 0x485, rather than at the address where the program stopped.
  10253. > *Note Continuing and Stepping::.
  10254. >    The most common occasion to use the `jump' command is to back up,
  10255. > perhaps with more breakpoints set, over a portion of a program that
  10256. > has already executed, in order to examine its execution in more
  10257. > detail.
  10258. > 
  10259. > File: gdb.info,  Node: Signaling,  Next: Returning,  Prev: Jumping,  Up: Altering
  10260. > Giving the Program a Signal
  10261. > ===========================
  10262. > `signal SIGNALNUM'
  10263. >      Resume execution where the program stopped, but give it
  10264. >      immediately the signal number SIGNALNUM.
  10265. >      Alternatively, if SIGNALNUM is zero, continue execution without
  10266. >      giving a signal.  This is useful when the program stopped on
  10267. >      account of a signal and would ordinary see the signal when
  10268. >      resumed with the `continue' command; `signal 0' causes it to
  10269. >      resume without a signal.
  10270. >      `signal' does not repeat when you press RET a second time after
  10271. >      executing the command.
  10272. > 
  10273. > File: gdb.info,  Node: Returning,  Next: Calling,  Prev: Signaling,  Up: Altering
  10274. > Returning from a Function
  10275. > =========================
  10276. > `return'
  10277. > `return EXPRESSION'
  10278. >      You can cancel execution of a function call with the `return'
  10279. >      command.  If you give an EXPRESSION argument, its value is used
  10280. >      as the function's return value.
  10281. >    When you use `return', GDB discards the selected stack frame (and
  10282. > all frames within it).  You can think of this as making the
  10283. > discarded frame return prematurely.  If you wish to specify a value
  10284. > to be returned, give that value as the argument to `return'.
  10285. >    This pops the selected stack frame (*note Selection::.), and any
  10286. > other frames inside of it, leaving its caller as the innermost
  10287. > remaining frame.  That frame becomes selected.  The specified value
  10288. > is stored in the registers used for returning values of functions.
  10289. >    The `return' command does not resume execution; it leaves the
  10290. > program stopped in the state that would exist if the function had
  10291. > just returned.  In contrast, the `finish' command (*note Continuing
  10292. > and Stepping::.) resumes execution until the selected stack frame
  10293. > returns naturally.
  10294. > 
  10295. > File: gdb.info,  Node: Calling,  Prev: Returning,  Up: Altering
  10296. > Calling your Program's Functions
  10297. > ================================
  10298. > `call EXPR'
  10299. >      Evaluate the expression EXPR without displaying `void' returned
  10300. >      values.
  10301. >    You can use this variant of the `print' command if you want to
  10302. > execute a function from your program, but without cluttering the
  10303. > output with `void' returned values.  The result is printed and saved
  10304. > in the value history, if it is not void.
  10305. > 
  10306. > File: gdb.info,  Node: GDB Files,  Next: Targets,  Prev: Altering,  Up: Top
  10307. > GDB's Files
  10308. > ***********
  10309. > * Menu:
  10310. > * Files::                       Commands to Specify Files
  10311. > * Symbol Errors::               Errors Reading Symbol Files
  10312. > 
  10313. 152,155c272,275
  10314. <      when that file has been dynamically loaded (by some other
  10315. <      means) into the program that is running.  ADDRESS should be the
  10316. <      memory address at which the file has been loaded; GDB cannot
  10317. <      figure this out for itself.
  10318. ---
  10319. >      when FILENAME has been dynamically loaded (by some other means)
  10320. >      into the program that is running.  ADDRESS should be the memory
  10321. >      address at which the file has been loaded; GDB cannot figure
  10322. >      this out for itself.
  10323. 182c302,303
  10324. < use the following commands:
  10325. ---
  10326. > use
  10327. > the following commands:
  10328. 207c328
  10329. <    While a symbol file is being read, GDB will occasionally encounter
  10330. ---
  10331. >    While reading a symbol file, GDB will occasionally encounter
  10332. 209,213c330,337
  10333. < in compiler output.  By default, it prints one message about each
  10334. < such type of problem, no matter how many times the problem occurs. 
  10335. < You can ask it to print more messages, to see how many times the
  10336. < problems occur, or can shut the messages off entirely, with the `set
  10337. < complaints' command (*Note Messages/Warnings::).
  10338. ---
  10339. > in compiler output.  By default, GDB does not notify you of such
  10340. > problems, since they're relatively common and primarily of interest
  10341. > to people debugging compilers.  If you are interested in seeing
  10342. > information about ill-constructed symbol tables, you can either ask
  10343. > GDB to print only one message about each such type of problem, no
  10344. > matter how many times the problem occurs; or you can ask GDB to
  10345. > print more messages, to see how many times the problems occur, with
  10346. > the `set complaints' command (*Note Messages/Warnings::).
  10347. 293,295c417,419
  10348. < * Active Targets::        Active Targets
  10349. < * Target Commands::        Commands for Managing Targets
  10350. < * Remote::            Remote Debugging
  10351. ---
  10352. > * Active Targets::              Active Targets
  10353. > * Target Commands::             Commands for Managing Targets
  10354. > * Remote::                      Remote Debugging
  10355. 836,841c960,965
  10356. < * Prompt::            Prompt
  10357. < * Editing::            Command Editing
  10358. < * History::            Command History
  10359. < * Screen Size::            Screen Size
  10360. < * Numbers::            Numbers
  10361. < * Messages/Warnings::        Optional Warnings and Messages
  10362. ---
  10363. > * Prompt::                      Prompt
  10364. > * Editing::                     Command Editing
  10365. > * History::                     Command History
  10366. > * Screen Size::                 Screen Size
  10367. > * Numbers::                     Numbers
  10368. > * Messages/Warnings::           Optional Warnings and Messages
  10369. 851,854c975,978
  10370. < change
  10371. < the prompt string with the `set prompt' command.  For instance, when
  10372. < debugging GDB with GDB, it is useful to change the prompt in one of
  10373. < the GDBs so that you can always tell which one you are talking to.
  10374. ---
  10375. > change the prompt string with the `set prompt' command.  For
  10376. > instance, when debugging GDB with GDB, it is useful to change the
  10377. > prompt in one of the GDBs so that you can always tell which one you
  10378. > are talking to.
  10379. 1044,1048c1168,1169
  10380. < object file, it prints a single message about each type of problem
  10381. < it finds, then  shuts up (*note Symbol Errors::.).  You can suppress
  10382. < these
  10383. < messages, or allow more than one such message to be printed if you
  10384. < want to see how frequent the problems are.
  10385. ---
  10386. > object file, it is silent; but if you are debugging a compiler, you
  10387. > may find this information useful (*note Symbol Errors::.).
  10388. 1079a1201,1224
  10389. >    Some systems allow individual object files that make up your
  10390. > program
  10391. > to be replaced without stopping and restarting your program.  For
  10392. > example, in VxWorks you can simply recompile a defective object file
  10393. > and keep on running.  If you're running on one of these systems, you
  10394. > can allow GDB to reload the symbols for automatically relinked
  10395. > modules:
  10396. > `set symbol-reloading on'
  10397. >      Replace symbol definitions for the corresponding source file
  10398. >      when an object file with a particular name is seen again.
  10399. > `set symbol-reloading off'
  10400. >      Don't replace symbol definitions when re-encountering object
  10401. >      files of the same name.  This is the default state; if you're
  10402. >      not running on a system that permits automatically relinking
  10403. >      modules, you should leave `symbol-reloading' off, since
  10404. >      otherwise GDB may discard symbols when linking large programs,
  10405. >      that may contain several modules (from different directories or
  10406. >      libraries) with the same name.
  10407. > `show symbol-reloading'
  10408. >      Show the current `on' or `off' setting.
  10409. 1088,1089c1233
  10410. < unit:
  10411. < user-defined commands and command files.
  10412. ---
  10413. > unit: user-defined commands and command files.
  10414. 1093,1095c1237,1239
  10415. < * Define::            User-Defined Commands
  10416. < * Command Files::        Command Files
  10417. < * Output::            Commands for Controlled Output
  10418. ---
  10419. > * Define::                      User-Defined Commands
  10420. > * Command Files::               Command Files
  10421. > * Output::                      Commands for Controlled Output
  10422. 1176,1239d1319
  10423. < 
  10424. < File: gdb.info,  Node: Output,  Prev: Command Files,  Up: Sequences
  10425. < Commands for Controlled Output
  10426. < ==============================
  10427. <    During the execution of a command file or a user-defined command,
  10428. < normal GDB output is suppressed; the only output that appears is
  10429. < what is explicitly printed by the commands in the definition.  This
  10430. < section describes three commands useful for generating exactly the
  10431. < output
  10432. < you want.
  10433. < `echo TEXT'
  10434. <      Print TEXT.  Nonprinting characters can be included in TEXT
  10435. <      using C escape sequences, such as `\n' to print a newline.  No
  10436. <      newline will be printed unless you specify one. In addition to
  10437. <      the standard C escape sequences, a backslash followed by a
  10438. <      space stands for a space.  This is useful for outputting a
  10439. <      string with spaces at the beginning or the end, since leading
  10440. <      and trailing spaces are otherwise trimmed from all arguments. 
  10441. <      Thus, to print ` and foo = ', use the command `echo \ and foo =
  10442. <      \ '.
  10443. <      A backslash at the end of TEXT can be used, as in C, to continue
  10444. <      the command onto subsequent lines.  For example,
  10445. <           echo This is some text\n\
  10446. <           which is continued\n\
  10447. <           onto several lines.\n
  10448. <      produces the same output as
  10449. <           echo This is some text\n
  10450. <           echo which is continued\n
  10451. <           echo onto several lines.\n
  10452. < `output EXPRESSION'
  10453. <      Print the value of EXPRESSION and nothing but that value: no
  10454. <      newlines, no `$NN = '.  The value is not entered in the value
  10455. <      history either.  *Note Expressions:: for more information on
  10456. <      expressions.
  10457. < `output/FMT EXPRESSION'
  10458. <      Print the value of EXPRESSION in format FMT.  You can use the
  10459. <      same formats as for `print'; *note Output formats::., for more
  10460. <      information.
  10461. < `printf STRING, EXPRESSIONS...'
  10462. <      Print the values of the EXPRESSIONS under the control of STRING.
  10463. <      The EXPRESSIONS are separated by commas and may be either
  10464. <      numbers or pointers.  Their values are printed as specified by
  10465. <      STRING, exactly as if the program were to execute
  10466. <           printf (STRING, EXPRESSIONS...);
  10467. <      For example, you can print two values in hex like this:
  10468. <           printf "foo, bar-foo = 0x%x, 0x%x\n", foo, bar-foo
  10469. <      The only backslash-escape sequences that you can use in the
  10470. <      format string are the simple ones that consist of backslash
  10471. <      followed by a letter.
  10472. diff -r gdb-3.98/gdb/gdb.info-5 gdb-4.0/gdb/gdb.info-5
  10473. 2c2
  10474. < file gdb-all.texinfo.
  10475. ---
  10476. > file gdb-all.texi.
  10477. 27a28,91
  10478. > File: gdb.info,  Node: Output,  Prev: Command Files,  Up: Sequences
  10479. > Commands for Controlled Output
  10480. > ==============================
  10481. >    During the execution of a command file or a user-defined command,
  10482. > normal GDB output is suppressed; the only output that appears is
  10483. > what is explicitly printed by the commands in the definition.  This
  10484. > section describes three commands useful for generating exactly the
  10485. > output
  10486. > you want.
  10487. > `echo TEXT'
  10488. >      Print TEXT.  Nonprinting characters can be included in TEXT
  10489. >      using C escape sequences, such as `\n' to print a newline.  No
  10490. >      newline will be printed unless you specify one. In addition to
  10491. >      the standard C escape sequences, a backslash followed by a
  10492. >      space stands for a space.  This is useful for outputting a
  10493. >      string with spaces at the beginning or the end, since leading
  10494. >      and trailing spaces are otherwise trimmed from all arguments. 
  10495. >      Thus, to print ` and foo = ', use the command `echo \ and foo =
  10496. >      \ '.
  10497. >      A backslash at the end of TEXT can be used, as in C, to continue
  10498. >      the command onto subsequent lines.  For example,
  10499. >           echo This is some text\n\
  10500. >           which is continued\n\
  10501. >           onto several lines.\n
  10502. >      produces the same output as
  10503. >           echo This is some text\n
  10504. >           echo which is continued\n
  10505. >           echo onto several lines.\n
  10506. > `output EXPRESSION'
  10507. >      Print the value of EXPRESSION and nothing but that value: no
  10508. >      newlines, no `$NN = '.  The value is not entered in the value
  10509. >      history either.  *Note Expressions:: for more information on
  10510. >      expressions.
  10511. > `output/FMT EXPRESSION'
  10512. >      Print the value of EXPRESSION in format FMT.  You can use the
  10513. >      same formats as for `print'; *note Output formats::., for more
  10514. >      information.
  10515. > `printf STRING, EXPRESSIONS...'
  10516. >      Print the values of the EXPRESSIONS under the control of STRING.
  10517. >      The EXPRESSIONS are separated by commas and may be either
  10518. >      numbers or pointers.  Their values are printed as specified by
  10519. >      STRING, exactly as if the program were to execute
  10520. >           printf (STRING, EXPRESSIONS...);
  10521. >      For example, you can print two values in hex like this:
  10522. >           printf "foo, bar-foo = 0x%x, 0x%x\n", foo, bar-foo
  10523. >      The only backslash-escape sequences that you can use in the
  10524. >      format string are the simple ones that consist of backslash
  10525. >      followed by a letter.
  10526. > 
  10527. 192,193c256,257
  10528. < * Bug Criteria::        Have You Found a Bug?
  10529. < * Bug Reporting::        How to Report Bugs
  10530. ---
  10531. > * Bug Criteria::                Have You Found a Bug?
  10532. > * Bug Reporting::               How to Report Bugs
  10533. 426,428c490,492
  10534. <    GDB is distributed with a `configure' script that automates the
  10535. < process of preparing GDB for installation; you can then use `make'
  10536. < to build the `gdb' program.
  10537. ---
  10538. >    GDB comes with a `configure' script that automates the process of
  10539. > preparing GDB for installation; you can then use `make' to build the
  10540. > `gdb' program.
  10541. 430,440c494,499
  10542. <    The `configure' script that's specific to GDB is distributed in
  10543. < the main GDB source directory.  However, building GDB also requires
  10544. < several other directories of source common to multiple GNU programs.
  10545. < These directories (GNU libraries and includes) are distributed
  10546. < separately, but their `configure' scripts and `Makefile's are
  10547. < designed to work together.  To ensure that GDB's `Makefile' can find
  10548. < all the pieces, you should make a single overall directory to hold
  10549. < the directories of source for GNU libraries and includes, and you
  10550. < should install the GDB source directory there too.  In this
  10551. < Appendix, we refer to the directory of GNU source directories as
  10552. < GNUSRC.
  10553. ---
  10554. >    The gdb distribution includes all the source code you need for gdb
  10555. > in a single directory `gdb-4.0'.  That directory in turn contains:
  10556. > `gdb-4.0/configure'
  10557. >      Overall script for configuring GDB and all its supporting
  10558. >      libraries.
  10559. 442,444c501
  10560. <    At a minimum, to build GDB you need the directories
  10561. < `GNUSRC/gdb'
  10562. ---
  10563. > `gdb-4.0/gdb'
  10564. 447c504
  10565. < `GNUSRC/bfd'
  10566. ---
  10567. > `gdb-4.0/bfd'
  10568. 450c507
  10569. < `GNUSRC/include'
  10570. ---
  10571. > `gdb-4.0/include'
  10572. 453c510
  10573. < `GNUSRC/libiberty'
  10574. ---
  10575. > `gdb-4.0/libiberty'
  10576. 456c513
  10577. < `GNUSRC/readline'
  10578. ---
  10579. > `gdb-4.0/readline'
  10580. 459,461c516,517
  10581. < Each of these directories has its own `configure' script.  GNUSRC has
  10582. < an overall `configure' script, which is distributed with the GNU
  10583. < libraries and includes.
  10584. ---
  10585. > Each of these directories has its own `configure' script, which are
  10586. > used by the overall `configure' script in `gdb-4.0'.
  10587. 463,465c519,521
  10588. <    `configure' is designed to be called recursively, so it is most
  10589. < convenient to run `configure' from the GNUSRC directory.  The
  10590. < simplest way to configure and build GDB is the following:
  10591. ---
  10592. >    It is most convenient to run `configure' from the `gdb-4.0'
  10593. > directory.  The simplest way to configure and build GDB is the
  10594. > following:
  10595. 467c523
  10596. <      cd GNUSRC
  10597. ---
  10598. >      cd gdb-4.0
  10599. 471,475c527,531
  10600. < where HOST is something like `sun4' or `vax', that identifies the
  10601. < platform where GDB will run.  This builds the three libraries `bfd',
  10602. < `readline', and `libiberty', then `gdb' itself.  The configured
  10603. < source files, and the binaries, are left in the corresponding source
  10604. < directories.
  10605. ---
  10606. > where HOST is something like `sun4' or `decstation', that identifies
  10607. > the platform where GDB will run.  This builds the three libraries
  10608. > `bfd', `readline', and `libiberty', then `gdb' itself.  The
  10609. > configured source files, and the binaries, are left in the
  10610. > corresponding source directories.
  10611. 485,487c541,544
  10612. < * Subdirectories::        Configuration subdirectories
  10613. < * configure Options::        Summary of options for configure
  10614. < * Formatting Manual::        How to format and print this manual
  10615. ---
  10616. > * Subdirectories::              Configuration subdirectories
  10617. > * Config Names::                Specifying names for hosts and targets
  10618. > * configure Options::           Summary of options for configure
  10619. > * Formatting Manual::          How to format and print GDB documentation
  10620. 490c547
  10621. < File: gdb.info,  Node: Subdirectories,  Next: configure Options,  Prev: Installing GDB,  Up: Installing GDB
  10622. ---
  10623. > File: gdb.info,  Node: Subdirectories,  Next: Config Names,  Prev: Installing GDB,  Up: Installing GDB
  10624. 495,503c552,564
  10625. <    If you build GDB for several host or target machines, and if your
  10626. < `make' program handles the `VPATH' feature (GNU `make' does), it is
  10627. < most convenient instead to build the different GDB configurations in
  10628. < subdirectories (separate from the source).  `configure' does this
  10629. < for you when you simultaneously specify several configurations; but
  10630. < it's a good habit even for a single configuration.  You can specify
  10631. < the use of subdirectories using the `+forcesubdirs' option
  10632. < (abbreviated `+f').  For example, you can build GDB on a Sun 4 as
  10633. < follows:
  10634. ---
  10635. >    If you want to run GDB versions for several host or target
  10636. > machines, you'll need a different gdb compiled for each combination
  10637. > of host and target.  `configure' is designed to make this easy by
  10638. > allowing you to generate each configuration in a separate
  10639. > subdirectory.  If your `make' program handles the `VPATH' feature
  10640. > (GNU `make' does), running `make' in each of these directories then
  10641. > builds the gdb program specified there.
  10642. >    `configure' creates these subdirectories for you when you
  10643. > simultaneously specify several configurations; but it's a good habit
  10644. > even for a single configuration.  You can specify the use of
  10645. > subdirectories using the `+subdirs' option (abbreviated `+sub'). 
  10646. > For example, you can build GDB on a Sun 4 as follows:
  10647. 505,507c566,568
  10648. <      cd GNUSRC
  10649. <      ./configure +f sun4
  10650. <      cd Host-sun4/Target-sun4
  10651. ---
  10652. >      cd gdb-4.0
  10653. >      ./configure +sub sun4
  10654. >      cd Host-sparc-sun-sunos4/Target-sparc-sun-sunos4
  10655. 511,521c572,585
  10656. < libraries, it creates nested directories `Host-HOST/Target-MACHINE'.
  10657. < This is because GDB can be configured for cross-compiling: GDB can
  10658. < run on one machine (the host) while debugging programs that run on
  10659. < another machine (the target).  You specify cross-debugging targets
  10660. < by giving the `+target=MACHINE' option to `configure'.  Specifying
  10661. < only hosts still gives you two levels of subdirectory for each host,
  10662. < with the same machine-name suffix on both.  On the other hand,
  10663. < whenever you specify both hosts and targets on the same command
  10664. < line, `configure' creates all combinations of the hosts and targets
  10665. < you
  10666. < list.
  10667. ---
  10668. > libraries, it creates nested directories `Host-HOST/Target-TARGET'. 
  10669. > (As you see in the example, the names used for HOST and TARGET may
  10670. > be expanded from your `configure' argument; *note Config Names::.).
  10671. > `configure' uses these two directory levels because GDB can be
  10672. > configured for cross-compiling: GDB can run on one machine (the
  10673. > host) while debugging programs that run on another machine (the
  10674. > target).  You specify cross-debugging targets by giving the
  10675. > `+target=TARGET' option to `configure'.  Specifying only hosts still
  10676. > gives you two levels of subdirectory for each host, with the same
  10677. > configuration suffix on both; that is, if you give any number of
  10678. > hosts but no targets, GDB will be configured for native debugging on
  10679. > each host.  On the other hand, whenever you specify both hosts and
  10680. > targets on the same command line, `configure' creates all
  10681. > combinations of the hosts and targets you list.
  10682. 526c590
  10683. < have `Host-HOST/Target-MACHINE' subdirectories, run `make' in those
  10684. ---
  10685. > have `Host-HOST/Target-TARGET' subdirectories, run `make' in those
  10686. 530,531c594,595
  10687. < recursively, so that typing `make' in GNUSRC (or in a
  10688. < `GNUSRC/Host-HOST/Target-MACHINE' subdirectory) builds all the
  10689. ---
  10690. > recursively, so that typing `make' in `gdb-4.0' (or in a
  10691. > `gdb-4.0/Host-HOST/Target-TARGET' subdirectory) builds all the
  10692. 534c598
  10693. <    If you run `configure' from a directory (such as GNUSRC) that
  10694. ---
  10695. >    If you run `configure' from a directory (such as `gdb-4.0') that
  10696. 536c600
  10697. < `configure' creates the `Host-HOST/Target-MACHINE' subdirectories in
  10698. ---
  10699. > `configure' creates the `Host-HOST/Target-TARGET' subdirectories in
  10700. 539,540c603,604
  10701. <      cd GNUSRC
  10702. <      configure sun4 +target=vx960
  10703. ---
  10704. >      cd gdb-4.0
  10705. >      configure sun4 +target=vxworks960
  10706. 544,548c608,620
  10707. <      GNUSRC/Host-sun4/Target-vx960
  10708. <      GNUSRC/bfd/Host-sun4/Target-vx960
  10709. <      GNUSRC/gdb/Host-sun4/Target-vx960
  10710. <      GNUSRC/libiberty/Host-sun4/Target-vx960
  10711. <      GNUSRC/readline/Host-sun4/Target-vx960
  10712. ---
  10713. >      gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  10714. >      gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  10715. >      gdb-4.0/gdb/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  10716. >      gdb-4.0/libiberty/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  10717. >      gdb-4.0/readline/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  10718. > The `Makefile' in
  10719. >      gdb-4.0/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  10720. > will `cd' to the appropriate lower-level directories, for example:
  10721. >      gdb-4.0/bfd/Host-sparc-sun-sunos4/Target-i960-wrs-vxworks
  10722. 550,552c622
  10723. < The `Makefile' in `GNUSRC/Host-sun4/Target-vx960' will `cd' to the
  10724. < appropriate lower-level directories (such as
  10725. < `GNUSRC/bfd/Host-sun4/Target-vx960'), building each in turn.
  10726. ---
  10727. > building each in turn.
  10728. 559c629,709
  10729. < File: gdb.info,  Node: configure Options,  Next: Formatting Manual,  Prev: Subdirectories,  Up: Installing GDB
  10730. ---
  10731. > File: gdb.info,  Node: Config Names,  Next: configure Options,  Prev: Subdirectories,  Up: Installing GDB
  10732. > Specifying Names for Hosts and Targets
  10733. > ======================================
  10734. >    The specifications used for hosts and targets in the `configure'
  10735. > script are based on a three-part naming scheme, but some short
  10736. > predefined aliases are also supported.  The full naming scheme
  10737. > encodes three pieces of information in the following pattern:
  10738. >      ARCHITECTURE-VENDOR-OS
  10739. >    For example, you can use the alias `sun4' as a HOST argument or in
  10740. > a `+target='TARGET option, but the full name of that configuration
  10741. > specifies that the architecture is `sparc', the vendor is `sun', and
  10742. > the operating system is `sunos4'.
  10743. >    The following table shows all the architectures, hosts, and OS
  10744. > prefixes that `configure' recognizes in GDB 4.0.  Entries in the "OS
  10745. > prefix"
  10746. > column ending in a `*' may be followed by a release number.
  10747. >      ARCHITECTURE  VENDOR        OS prefix
  10748. >      ------------+-------------+-------------
  10749. >                  |             |
  10750. >       a29k       | altos       | aix*
  10751. >       alliant    | aout        | aout
  10752. >       arm        | apollo      | bout
  10753. >       c1         | att         | bsd*
  10754. >       c2         | bout        | coff
  10755. >       i386       | coff        | ctix*
  10756. >       i860       | convergent  | dynix*
  10757. >       i960       | convex      | esix*
  10758. >       m68000     | dec         | hpux*
  10759. >       m68k       | encore      | isc*
  10760. >       m88k       | gould       | mach*
  10761. >       mips       | hp          | newsos*
  10762. >       ns32k      | ibm         | nindy*
  10763. >       pyramid    | intel       | none
  10764. >       rs6000     | isi         | osf*
  10765. >       rtpc       | little      | sco*    
  10766. >       sparc      | mips        | sunos*  
  10767. >       tahoe      | motorola    | sysv*   
  10768. >       tron       | ncr         | ultrix* 
  10769. >       vax        | next        | unos*   
  10770. >                  | none        | v88r*   
  10771. >                  | sco         | vms*    
  10772. >                  | sequent     | vxworks*
  10773. >                  | sgi         | 
  10774. >                  | sony        |
  10775. >                  | sun         |
  10776. >                  | unicom      |
  10777. >                  | utek        |
  10778. >                  | wrs         |
  10779. >      *Warning:* Many combinations of architecture, vendor, and OS are
  10780. >      untested.
  10781. >    The `configure' script accompanying GDB 4.0 does not provide any
  10782. > query facility to list all supported host and target names or
  10783. > aliases.  `configure' calls the Bourne shell script `config.sub' to
  10784. > map abbreviations to full names; you can read the script, if you
  10785. > wish, or you can use it to test your guesses on abbreviations--for
  10786. > example:
  10787. >      % sh config.sub sun4
  10788. >      sparc-sun-sunos4
  10789. >      % sh config.sub sun3
  10790. >      m68k-sun-sunos4
  10791. >      % sh config.sub decstation
  10792. >      mips-dec-ultrix
  10793. >      % sh config.sub hp300bsd
  10794. >      m68k-hp-bsd
  10795. >      % sh config.sub i386v
  10796. >      i386-none-sysv
  10797. >      % sh config.sub i486v
  10798. >      *** No vendor: configuration `i486v' not recognized
  10799. > 
  10800. > File: gdb.info,  Node: configure Options,  Next: Formatting Manual,  Prev: Config Names,  Up: Installing GDB
  10801. 567,568c717,718
  10802. <      configure [+destdir=DIR] [+forcesubdirs] [+norecur] [+rm]
  10803. <                [+target=MACHINE...] HOST...
  10804. ---
  10805. >      configure [+destdir=DIR] [+subdirs] [+norecur] [+rm]
  10806. >                [+target=TARGET...] HOST...
  10807. 571c721
  10808. < you prefer; but options introduced with `+' may be truncated.
  10809. ---
  10810. > you prefer; but you may abbreviate option names if you use `+'.
  10811. 580c730
  10812. < `+forcesubdirs'
  10813. ---
  10814. > `+subdirs'
  10815. 583c733
  10816. <           Host-MACHINE/Target-MACHINE
  10817. ---
  10818. >           Host-HOST/Target-TARGET
  10819. 590c740,741
  10820. <      one `+target=MACHINE' option on the `configure' command line.
  10821. ---
  10822. >      one
  10823. >      `+target=TARGET' option on the `configure' command line.
  10824. 597c748
  10825. <      Remove the configuration specified by other arguments.
  10826. ---
  10827. >      Remove the configuration that the other arguments specify.
  10828. 599c750
  10829. < `+target=MACHINE ...'
  10830. ---
  10831. > `+target=TARGET ...'
  10832. 601,605c752,754
  10833. <      specified MACHINE.  You may specify as many `+target' options
  10834. <      as you wish.  To see a list of available targets, execute `ls
  10835. <      tconfig' in the GDB source directory.  Without this option, GDB
  10836. <      is configured to debug programs that run on the same machine
  10837. <      (HOST) as GDB itself.
  10838. ---
  10839. >      specified TARGET.  You may specify as many `+target' options as
  10840. >      you wish.  Without this option, GDB is configured to debug
  10841. >      programs that run on the same machine (HOST) as GDB itself.
  10842. 606a756,758
  10843. >      There is no convenient way to generate a list of all available
  10844. >      targets.
  10845. 609,610c761,764
  10846. <      many host names as you wish.  To see a list of available hosts,
  10847. <      execute `ls xconfig' in the GDB source directory.
  10848. ---
  10849. >      many host names as you wish.
  10850. >      There is no convenient way to generate a list of all available
  10851. >      hosts.
  10852. 622,623c776,785
  10853. <    To format the GDB manual as an Info file, you need the GNU
  10854. < `makeinfo' program.  Once you have it, you can type
  10855. ---
  10856. >    The GDB 4.0 release includes the Info version of this manual
  10857. > already formatted: the main Info file is `gdb-4.0/gdb/gdb.info', and
  10858. > it
  10859. > refers to subordinate files matching `gdb.info*' in the same
  10860. > directory.
  10861. >    If you want to make these Info files yourself from the GDB
  10862. > manual's source, you need the GNU `makeinfo' program.  Once you have
  10863. > it,
  10864. > you can type
  10865. 625c787
  10866. <      cd GNUSRC/gdb
  10867. ---
  10868. >      cd gdb-4.0/gdb
  10869. 637c799
  10870. <    * `GNUSRC/texinfo': TeX macros defining the GNU Documentation
  10871. ---
  10872. >    * `gdb-4.0/texinfo': TeX macros defining the GNU Documentation
  10873. 648c810
  10874. <      cd GNUSRC/gdb
  10875. ---
  10876. >      cd gdb-4.0/gdb
  10877. 654,1031c816,829
  10878. < 
  10879. < File: gdb.info,  Node: Copying,  Next: Index,  Prev: Installing GDB,  Up: Top
  10880. < GNU GENERAL PUBLIC LICENSE
  10881. < **************************
  10882. <                              Version 2, June 1991
  10883. <      Copyright (C) 1989, 1991 Free Software Foundation, Inc.
  10884. <      675 Mass Ave, Cambridge, MA 02139, USA
  10885. <      
  10886. <      Everyone is permitted to copy and distribute verbatim copies
  10887. <      of this license document, but changing it is not allowed.
  10888. < Preamble
  10889. < ========
  10890. <    The licenses for most software are designed to take away your
  10891. < freedom to share and change it.  By contrast, the GNU General Public
  10892. < License is intended to guarantee your freedom to share and change
  10893. < free software--to make sure the software is free for all its users. 
  10894. < This General Public License applies to most of the Free Software
  10895. < Foundation's software and to any other program whose authors commit
  10896. < to using it.  (Some other Free Software Foundation software is
  10897. < covered by the GNU Library General Public License instead.)  You can
  10898. < apply it to your programs, too.
  10899. <    When we speak of free software, we are referring to freedom, not
  10900. < price.  Our General Public Licenses are designed to make sure that
  10901. < you have the freedom to distribute copies of free software (and
  10902. < charge for this service if you wish), that you receive source code
  10903. < or can get it if you want it, that you can change the software or
  10904. < use pieces of it in new free programs; and that you know you can do
  10905. < these things.
  10906. <    To protect your rights, we need to make restrictions that forbid
  10907. < anyone to deny you these rights or to ask you to surrender the rights.
  10908. < These restrictions translate to certain responsibilities for you if
  10909. < you distribute copies of the software, or if you modify it.
  10910. <    For example, if you distribute copies of such a program, whether
  10911. < gratis or for a fee, you must give the recipients all the rights
  10912. < that
  10913. < you have.  You must make sure that they, too, receive or can get the
  10914. < source code.  And you must show them these terms so they know their
  10915. < rights.
  10916. <    We protect your rights with two steps: (1) copyright the software,
  10917. < and (2) offer you this license which gives you legal permission to
  10918. < copy, distribute and/or modify the software.
  10919. <    Also, for each author's protection and ours, we want to make
  10920. < certain that everyone understands that there is no warranty for this
  10921. < free software.  If the software is modified by someone else and
  10922. < passed on, we want its recipients to know that what they have is not
  10923. < the original, so that any problems introduced by others will not
  10924. < reflect on the original authors' reputations.
  10925. <    Finally, any free program is threatened constantly by software
  10926. < patents.  We wish to avoid the danger that redistributors of a free
  10927. < program will individually obtain patent licenses, in effect making
  10928. < the program proprietary.  To prevent this, we have made it clear
  10929. < that any patent must be licensed for everyone's free use or not
  10930. < licensed at all.
  10931. <    The precise terms and conditions for copying, distribution and
  10932. < modification follow.
  10933. <        TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  10934. <   1. This License applies to any program or other work which contains
  10935. <      a notice placed by the copyright holder saying it may be
  10936. <      distributed under the terms of this General Public License. 
  10937. <      The "Program", below, refers to any such program or work, and a
  10938. <      "work based on the Program" means either the Program or any
  10939. <      derivative work under copyright law: that is to say, a work
  10940. <      containing the Program or a portion of it, either verbatim or
  10941. <      with modifications and/or translated into another language. 
  10942. <      (Hereinafter, translation is included without limitation in the
  10943. <      term "modification".)  Each licensee is addressed as "you".
  10944. <         Activities other than copying, distribution and modification
  10945. <      are not covered by this License; they are outside its scope. 
  10946. <      The act of running the Program is not restricted, and the
  10947. <      output from the Program is covered only if its contents
  10948. <      constitute a work based on the Program (independent of having
  10949. <      been made by running the Program).  Whether that is true
  10950. <      depends on what the Program does.
  10951. <   2. You may copy and distribute verbatim copies of the Program's
  10952. <      source code as you receive it, in any medium, provided that you
  10953. <      conspicuously and appropriately publish on each copy an
  10954. <      appropriate copyright notice and disclaimer of warranty; keep
  10955. <      intact all the notices that refer to this License and to the
  10956. <      absence of any warranty; and give any other recipients of the
  10957. <      Program a copy of this License along with the Program.
  10958. <         You may charge a fee for the physical act of transferring a
  10959. <      copy, and you may at your option offer warranty protection in
  10960. <      exchange for a fee.
  10961. <   3. You may modify your copy or copies of the Program or any portion
  10962. <      of it, thus forming a work based on the Program, and copy and
  10963. <      distribute such modifications or work under the terms of
  10964. <      Section 1 above, provided that you also meet all of these
  10965. <      conditions:
  10966. <        a) You must cause the modified files to carry prominent
  10967. <           notices stating that you changed the files and the date of
  10968. <           any change.
  10969. <        b) You must cause any work that you distribute or publish,
  10970. <           that in whole or in part contains or is derived from the
  10971. <           Program or any part thereof, to be licensed as a whole at
  10972. <           no charge to all third parties under the terms of this
  10973. <           License.
  10974. <        c) If the modified program normally reads commands
  10975. <           interactively when run, you must cause it, when started
  10976. <           running for such interactive use in the most ordinary way,
  10977. <           to print or display an announcement including an
  10978. <           appropriate copyright notice and a notice that there is no
  10979. <           warranty (or else, saying that you provide a warranty) and
  10980. <           that users may redistribute the program under these
  10981. <           conditions, and telling the user how to view a copy of
  10982. <           this License.  (Exception: if the Program itself is
  10983. <           interactive but does not normally print such an
  10984. <           announcement, your work based on the Program is not
  10985. <           required to print an announcement.)
  10986. <         These requirements apply to the modified work as a whole.  If
  10987. <      identifiable sections of that work are not derived from the
  10988. <      Program, and can be reasonably considered independent and
  10989. <      separate works in themselves, then this License, and its terms,
  10990. <      do not apply to those sections when you distribute them as
  10991. <      separate works.  But when you distribute the same sections as
  10992. <      part of a whole which is a work based on the Program, the
  10993. <      distribution of the whole must be on the terms of this License,
  10994. <      whose permissions for other licensees extend to the entire
  10995. <      whole, and thus to each and every part regardless of who wrote
  10996. <      it.
  10997. <         Thus, it is not the intent of this section to claim rights or
  10998. <      contest your rights to work written entirely by you; rather,
  10999. <      the intent is to exercise the right to control the distribution
  11000. <      of derivative or collective works based on the Program.
  11001. <         In addition, mere aggregation of another work not based on
  11002. <      the Program with the Program (or with a work based on the
  11003. <      Program) on a volume of a storage or distribution medium does
  11004. <      not bring the other work under the scope of this License.
  11005. <   4. You may copy and distribute the Program (or a work based on it,
  11006. <      under Section 2) in object code or executable form under the
  11007. <      terms of Sections 1 and 2 above provided that you also do one
  11008. <      of the following:
  11009. <        a) Accompany it with the complete corresponding
  11010. <           machine-readable source code, which must be distributed
  11011. <           under the terms of Sections 1 and 2 above on a medium
  11012. <          
  11013. <           customarily used for software interchange; or,
  11014. <        b) Accompany it with a written offer, valid for at least three
  11015. <           years, to give any third party, for a charge no more than
  11016. <           your cost of physically performing source distribution, a
  11017. <           complete machine-readable copy of the corresponding source
  11018. <           code, to be distributed under the terms of Sections 1 and
  11019. <           2 above on a medium customarily used for software
  11020. <           interchange; or,
  11021. <        c) Accompany it with the information you received as to the
  11022. <           offer to distribute corresponding source code.  (This
  11023. <           alternative is allowed only for noncommercial distribution
  11024. <           and only if you received the program in object code or
  11025. <           executable form with such an offer, in accord with
  11026. <           Subsection b above.)
  11027. <         The source code for a work means the preferred form of the
  11028. <      work for making modifications to it.  For an executable work,
  11029. <      complete source code means all the source code for all modules
  11030. <      it contains, plus any associated interface definition files,
  11031. <      plus the scripts used to control compilation and installation
  11032. <      of the executable.  However, as a special exception, the source
  11033. <      code distributed need not include anything that is normally
  11034. <      distributed (in either source or binary form) with the major
  11035. <      components (compiler, kernel, and so on) of the operating
  11036. <      system on which the executable runs, unless that component
  11037. <      itself accompanies the executable.
  11038. <         If distribution of executable or object code is made by
  11039. <      offering access to copy from a designated place, then offering
  11040. <      equivalent access to copy the source code from the same place
  11041. <      counts as distribution of the source code, even though third
  11042. <      parties are not compelled to copy the source along with the
  11043. <      object code.
  11044. <   5. You may not copy, modify, sublicense, or distribute the Program
  11045. <      except as expressly provided under this License.  Any attempt
  11046. <      otherwise to copy, modify, sublicense or distribute the Program
  11047. <      is void, and will automatically terminate your rights under
  11048. <      this License.  However, parties who have received copies, or
  11049. <      rights, from you under this License will not have their
  11050. <      licenses terminated so long as such parties remain in full
  11051. <      compliance.
  11052. <   6. You are not required to accept this License, since you have not
  11053. <      signed it.  However, nothing else grants you permission to
  11054. <      modify or distribute the Program or its derivative works. 
  11055. <      These actions are prohibited by law if you do not accept this
  11056. <      License.  Therefore, by modifying or distributing the Program
  11057. <      (or any work based on the Program), you indicate your
  11058. <      acceptance of this License to do so, and all its terms and
  11059. <      conditions for copying, distributing or modifying the Program
  11060. <      or works based on it.
  11061. <   7. Each time you redistribute the Program (or any work based on the
  11062. <      Program), the recipient automatically receives a license from
  11063. <      the original licensor to copy, distribute or modify the Program
  11064. <      subject to these terms and conditions.  You may not impose any
  11065. <      further restrictions on the recipients' exercise of the rights
  11066. <      granted herein.  You are not responsible for enforcing
  11067. <      compliance by third parties to this License.
  11068. <   8. If, as a consequence of a court judgment or allegation of patent
  11069. <      infringement or for any other reason (not limited to patent
  11070. <      issues), conditions are imposed on you (whether by court order,
  11071. <      agreement or otherwise) that contradict the conditions of this
  11072. <      License, they do not excuse you from the conditions of this
  11073. <      License.  If you cannot distribute so as to satisfy
  11074. <      simultaneously your obligations under this License and any
  11075. <      other pertinent obligations, then as a consequence you may not
  11076. <      distribute the Program at all.  For example, if a patent
  11077. <      license would not permit royalty-free redistribution of the
  11078. <      Program by all those who receive copies directly or indirectly
  11079. <      through you, then the only way you could satisfy both it and
  11080. <      this License would be to refrain entirely from distribution of
  11081. <      the Program.
  11082. <         If any portion of this section is held invalid or
  11083. <      unenforceable under any particular circumstance, the balance of
  11084. <      the section is intended to apply and the section as a whole is
  11085. <      intended to apply in other circumstances.
  11086. <         It is not the purpose of this section to induce you to
  11087. <      infringe any patents or other property right claims or to
  11088. <      contest validity of any such claims; this section has the sole
  11089. <      purpose of protecting the integrity of the free software
  11090. <      distribution system, which is implemented by public license
  11091. <      practices.  Many people have made generous contributions to the
  11092. <      wide range of software distributed through that system in
  11093. <      reliance on consistent application of that system; it is up to
  11094. <      the author/donor to decide if he or she is willing to
  11095. <      distribute software through any other system and a licensee
  11096. <      cannot impose that choice.
  11097. <         This section is intended to make thoroughly clear what is
  11098. <      believed to be a consequence of the rest of this License.
  11099. <   9. If the distribution and/or use of the Program is restricted in
  11100. <      certain countries either by patents or by copyrighted
  11101. <      interfaces, the original copyright holder who places the
  11102. <      Program under this License may add an explicit geographical
  11103. <      distribution limitation excluding those countries, so that
  11104. <      distribution is permitted only in or among countries not thus
  11105. <      excluded.  In such case, this License incorporates the
  11106. <      limitation as if written in the body of this License.
  11107. <  10. The Free Software Foundation may publish revised and/or new
  11108. <      versions of the General Public License from time to time.  Such
  11109. <      new versions will be similar in spirit to the present version,
  11110. <      but may differ in detail to address new problems or concerns.
  11111. <         Each version is given a distinguishing version number.  If
  11112. <      the Program specifies a version number of this License which
  11113. <      applies to it and "any later version", you have the option of
  11114. <      following the terms and conditions either of that version or of
  11115. <      any later version published by the Free Software Foundation. 
  11116. <      If the Program does not specify a version number of this
  11117. <      License, you may choose any version ever published by the Free
  11118. <      Software Foundation.
  11119. <  11. If you wish to incorporate parts of the Program into other free
  11120. <      programs whose distribution conditions are different, write to
  11121. <      the author to ask for permission.  For software which is
  11122. <      copyrighted by the Free Software Foundation, write to the Free
  11123. <      Software Foundation; we sometimes make exceptions for this. 
  11124. <      Our decision will be guided by the two goals of preserving the
  11125. <      free status of all derivatives of our free software and of
  11126. <      promoting the sharing and reuse of software generally.
  11127. <                                       NO WARRANTY
  11128. <  12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
  11129. <      WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
  11130. <      LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  11131. <      HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
  11132. <      WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
  11133. <      INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  11134. <     
  11135. <      MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE
  11136. <      ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
  11137. <      WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
  11138. <      COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  11139. <  13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
  11140. <      WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
  11141. <      MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
  11142. <      LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
  11143. <      INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  11144. <      INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
  11145. <      OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
  11146. <      BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
  11147. <      WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
  11148. <      HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  11149. <                          END OF TERMS AND CONDITIONS
  11150. < Applying These Terms to Your New Programs
  11151. < =========================================
  11152. <    If you develop a new program, and you want it to be of the
  11153. < greatest possible use to the public, the best way to achieve this is
  11154. < to make it free software which everyone can redistribute and change
  11155. < under these terms.
  11156. <    To do so, attach the following notices to the program.  It is
  11157. < safest to attach them to the start of each source file to most
  11158. < effectively convey the exclusion of warranty; and each file should
  11159. < have
  11160. < at least the "copyright" line and a pointer to where the full notice
  11161. < is found.
  11162. <      ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
  11163. <      Copyright (C) 19YY  NAME OF AUTHOR
  11164. <      
  11165. <      This program is free software; you can redistribute it and/or modify
  11166. <      it under the terms of the GNU General Public License as published by
  11167. <      the Free Software Foundation; either version 2 of the License, or
  11168. <      (at your option) any later version.
  11169. <      
  11170. <      This program is distributed in the hope that it will be useful,
  11171. <      but WITHOUT ANY WARRANTY; without even the implied warranty of
  11172. <      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11173. <      GNU General Public License for more details.
  11174. <      
  11175. <      You should have received a copy of the GNU General Public License
  11176. <      along with this program; if not, write to the Free Software
  11177. <      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  11178. <    Also add information on how to contact you by electronic and paper
  11179. < mail.
  11180. <    If the program is interactive, make it output a short notice like
  11181. < this when it starts in an interactive mode:
  11182. <      Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
  11183. <      Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
  11184. <      This is free software, and you are welcome to redistribute it
  11185. <      under certain conditions; type `show c' for details.
  11186. <    The hypothetical commands `show w' and `show c' should show the
  11187. < appropriate parts of the General Public License.  Of course, the
  11188. < commands you use may be called something other than `show w' and
  11189. < `show c'; they could even be mouse-clicks or menu items--whatever
  11190. < suits
  11191. < your
  11192. < program.
  11193. <    You should also get your employer (if you work as a programmer) or
  11194. < your school, if any, to sign a "copyright disclaimer" for the
  11195. < program, if necessary.  Here is a sample; alter the names:
  11196. <      Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  11197. <      `Gnomovision' (which makes passes at compilers) written by James Hacker.
  11198. <      
  11199. <      SIGNATURE OF TY COON, 1 April 1989
  11200. <      Ty Coon, President of Vice
  11201. ---
  11202. >    You might also want hard copy of the GDB reference card.  The GDB
  11203. > 4.0 release includes an already-formatted reference card, ready for
  11204. > printing on a PostScript printer, as `gdb-4.0/gdb/refcard.ps'.  It
  11205. > uses the most common PostScript fonts: the Times family, Courier,
  11206. > and Symbol.  If you have a PostScript printer you can print the
  11207. > reference card by just sending `refcard.ps' to the printer.
  11208. >    If you have some other kind of printer, or want to print using
  11209. > Computer Modern fonts instead, you can still print the reference
  11210. > card
  11211. > if you have TeX.  Format the reference card by typing
  11212. >      cd gdb-4.0/gdb
  11213. >      make refcard.dvi
  11214. 1033,1038c831,834
  11215. <    This General Public License does not permit incorporating your
  11216. < program into proprietary programs.  If your program is a subroutine
  11217. < library, you may consider it more useful to permit linking
  11218. < proprietary applications with the library.  If this is what you want
  11219. < to do, use the GNU Library General Public License instead of this
  11220. < License.
  11221. ---
  11222. > The GDB reference card is designed to print in landscape mode on US
  11223. > "letter" size paper; that is, on a sheet 11 inches wide by 8.5
  11224. > inches high.  You will need to specify this form of printing as an
  11225. > option to your DVI output program.
  11226. diff -r gdb-3.98/gdb/gdb.info-6 gdb-4.0/gdb/gdb.info-6
  11227. 2c2
  11228. < file gdb-all.texinfo.
  11229. ---
  11230. > file gdb-all.texi.
  11231. 27a28,413
  11232. > File: gdb.info,  Node: Copying,  Next: Index,  Prev: Installing GDB,  Up: Top
  11233. > GNU GENERAL PUBLIC LICENSE
  11234. > **************************
  11235. >                              Version 2, June 1991
  11236. >      Copyright (C) 1989, 1991 Free Software Foundation, Inc.
  11237. >      675 Mass Ave, Cambridge, MA 02139, USA
  11238. >      
  11239. >      Everyone is permitted to copy and distribute verbatim copies
  11240. >      of this license document, but changing it is not allowed.
  11241. > Preamble
  11242. > ========
  11243. >    The licenses for most software are designed to take away your
  11244. > freedom to share and change it.  By contrast, the GNU General Public
  11245. > License is intended to guarantee your freedom to share and change
  11246. > free software--to make sure the software is free for all its users. 
  11247. > This General Public License applies to most of the Free Software
  11248. > Foundation's software and to any other program whose authors commit
  11249. > to using it.  (Some other Free Software Foundation software is
  11250. > covered by the GNU Library General Public License instead.)  You can
  11251. > apply it to your programs, too.
  11252. >    When we speak of free software, we are referring to freedom, not
  11253. > price.  Our General Public Licenses are designed to make sure that
  11254. > you have the freedom to distribute copies of free software (and
  11255. > charge for this service if you wish), that you receive source code
  11256. > or can get it if you want it, that you can change the software or
  11257. > use pieces of it in new free programs; and that you know you can do
  11258. > these things.
  11259. >    To protect your rights, we need to make restrictions that forbid
  11260. > anyone to deny you these rights or to ask you to surrender the rights.
  11261. > These restrictions translate to certain responsibilities for you if
  11262. > you distribute copies of the software, or if you modify it.
  11263. >    For example, if you distribute copies of such a program, whether
  11264. > gratis or for a fee, you must give the recipients all the rights
  11265. > that
  11266. > you have.  You must make sure that they, too, receive or can get the
  11267. > source code.  And you must show them these terms so they know their
  11268. > rights.
  11269. >    We protect your rights with two steps: (1) copyright the software,
  11270. > and (2) offer you this license which gives you legal permission to
  11271. > copy, distribute and/or modify the software.
  11272. >    Also, for each author's protection and ours, we want to make
  11273. > certain that everyone understands that there is no warranty for this
  11274. > free software.  If the software is modified by someone else and
  11275. > passed on, we want its recipients to know that what they have is not
  11276. > the original, so that any problems introduced by others will not
  11277. > reflect on the original authors' reputations.
  11278. >    Finally, any free program is threatened constantly by software
  11279. > patents.  We wish to avoid the danger that redistributors of a free
  11280. > program will individually obtain patent licenses, in effect making
  11281. > the program proprietary.  To prevent this, we have made it clear
  11282. > that any patent must be licensed for everyone's free use or not
  11283. > licensed at all.
  11284. >    The precise terms and conditions for copying, distribution and
  11285. > modification follow.
  11286. >        TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  11287. >   1. This License applies to any program or other work which contains
  11288. >      a notice placed by the copyright holder saying it may be
  11289. >      distributed under the terms of this General Public License. 
  11290. >      The "Program", below, refers to any such program or work, and a
  11291. >      "work based on the Program" means either the Program or any
  11292. >      derivative work under copyright law: that is to say, a work
  11293. >      containing the Program or a portion of it, either verbatim or
  11294. >      with modifications and/or translated into another language. 
  11295. >      (Hereinafter, translation is included without limitation in the
  11296. >      term "modification".)  Each licensee is addressed as "you".
  11297. >         Activities other than copying, distribution and modification
  11298. >      are not covered by this License; they are outside its scope. 
  11299. >      The act of running the Program is not restricted, and the
  11300. >      output from the Program is covered only if its contents
  11301. >      constitute a work based on the Program (independent of having
  11302. >      been made by running the Program).  Whether that is true
  11303. >      depends on what the Program does.
  11304. >   2. You may copy and distribute verbatim copies of the Program's
  11305. >      source code as you receive it, in any medium, provided that you
  11306. >      conspicuously and appropriately publish on each copy an
  11307. >      appropriate copyright notice and disclaimer of warranty; keep
  11308. >      intact all the notices that refer to this License and to the
  11309. >      absence of any warranty; and give any other recipients of the
  11310. >      Program a copy of this License along with the Program.
  11311. >         You may charge a fee for the physical act of transferring a
  11312. >      copy, and you may at your option offer warranty protection in
  11313. >      exchange for a fee.
  11314. >   3. You may modify your copy or copies of the Program or any portion
  11315. >      of it, thus forming a work based on the Program, and copy and
  11316. >      distribute such modifications or work under the terms of
  11317. >      Section 1 above, provided that you also meet all of these
  11318. >      conditions:
  11319. >        a) You must cause the modified files to carry prominent
  11320. >           notices stating that you changed the files and the date of
  11321. >           any change.
  11322. >        b) You must cause any work that you distribute or publish,
  11323. >           that in whole or in part contains or is derived from the
  11324. >           Program or any part thereof, to be licensed as a whole at
  11325. >           no charge to all third parties under the terms of this
  11326. >           License.
  11327. >        c) If the modified program normally reads commands
  11328. >           interactively when run, you must cause it, when started
  11329. >           running for such interactive use in the most ordinary way,
  11330. >           to print or display an announcement including an
  11331. >           appropriate copyright notice and a notice that there is no
  11332. >           warranty (or else, saying that you provide a warranty) and
  11333. >           that users may redistribute the program under these
  11334. >           conditions, and telling the user how to view a copy of
  11335. >           this License.  (Exception: if the Program itself is
  11336. >           interactive but does not normally print such an
  11337. >           announcement, your work based on the Program is not
  11338. >           required to print an announcement.)
  11339. >         These requirements apply to the modified work as a whole.  If
  11340. >      identifiable sections of that work are not derived from the
  11341. >      Program, and can be reasonably considered independent and
  11342. >      separate works in themselves, then this License, and its terms,
  11343. >      do not apply to those sections when you distribute them as
  11344. >      separate works.  But when you distribute the same sections as
  11345. >      part of a whole which is a work based on the Program, the
  11346. >      distribution of the whole must be on the terms of this License,
  11347. >      whose permissions for other licensees extend to the entire
  11348. >      whole, and thus to each and every part regardless of who wrote
  11349. >      it.
  11350. >         Thus, it is not the intent of this section to claim rights or
  11351. >      contest your rights to work written entirely by you; rather,
  11352. >      the intent is to exercise the right to control the distribution
  11353. >      of derivative or collective works based on the Program.
  11354. >         In addition, mere aggregation of another work not based on
  11355. >      the Program with the Program (or with a work based on the
  11356. >      Program) on a volume of a storage or distribution medium does
  11357. >      not bring the other work under the scope of this License.
  11358. >   4. You may copy and distribute the Program (or a work based on it,
  11359. >      under Section 2) in object code or executable form under the
  11360. >      terms of Sections 1 and 2 above provided that you also do one
  11361. >      of the following:
  11362. >        a) Accompany it with the complete corresponding
  11363. >           machine-readable source code, which must be distributed
  11364. >           under the terms of Sections 1 and 2 above on a medium
  11365. >          
  11366. >           customarily used for software interchange; or,
  11367. >        b) Accompany it with a written offer, valid for at least three
  11368. >           years, to give any third party, for a charge no more than
  11369. >           your cost of physically performing source distribution, a
  11370. >           complete machine-readable copy of the corresponding source
  11371. >           code, to be distributed under the terms of Sections 1 and
  11372. >           2 above on a medium customarily used for software
  11373. >           interchange; or,
  11374. >        c) Accompany it with the information you received as to the
  11375. >           offer to distribute corresponding source code.  (This
  11376. >           alternative is allowed only for noncommercial distribution
  11377. >           and only if you received the program in object code or
  11378. >           executable form with such an offer, in accord with
  11379. >           Subsection b above.)
  11380. >         The source code for a work means the preferred form of the
  11381. >      work for making modifications to it.  For an executable work,
  11382. >      complete source code means all the source code for all modules
  11383. >      it contains, plus any associated interface definition files,
  11384. >      plus the scripts used to control compilation and installation
  11385. >      of the executable.  However, as a special exception, the source
  11386. >      code distributed need not include anything that is normally
  11387. >      distributed (in either source or binary form) with the major
  11388. >      components (compiler, kernel, and so on) of the operating
  11389. >      system on which the executable runs, unless that component
  11390. >      itself accompanies the executable.
  11391. >         If distribution of executable or object code is made by
  11392. >      offering access to copy from a designated place, then offering
  11393. >      equivalent access to copy the source code from the same place
  11394. >      counts as distribution of the source code, even though third
  11395. >      parties are not compelled to copy the source along with the
  11396. >      object code.
  11397. >   5. You may not copy, modify, sublicense, or distribute the Program
  11398. >      except as expressly provided under this License.  Any attempt
  11399. >      otherwise to copy, modify, sublicense or distribute the Program
  11400. >      is void, and will automatically terminate your rights under
  11401. >      this License.  However, parties who have received copies, or
  11402. >      rights, from you under this License will not have their
  11403. >      licenses terminated so long as such parties remain in full
  11404. >      compliance.
  11405. >   6. You are not required to accept this License, since you have not
  11406. >      signed it.  However, nothing else grants you permission to
  11407. >      modify or distribute the Program or its derivative works. 
  11408. >      These actions are prohibited by law if you do not accept this
  11409. >      License.  Therefore, by modifying or distributing the Program
  11410. >      (or any work based on the Program), you indicate your
  11411. >      acceptance of this License to do so, and all its terms and
  11412. >      conditions for copying, distributing or modifying the Program
  11413. >      or works based on it.
  11414. >   7. Each time you redistribute the Program (or any work based on the
  11415. >      Program), the recipient automatically receives a license from
  11416. >      the original licensor to copy, distribute or modify the Program
  11417. >      subject to these terms and conditions.  You may not impose any
  11418. >      further restrictions on the recipients' exercise of the rights
  11419. >      granted herein.  You are not responsible for enforcing
  11420. >      compliance by third parties to this License.
  11421. >   8. If, as a consequence of a court judgment or allegation of patent
  11422. >      infringement or for any other reason (not limited to patent
  11423. >      issues), conditions are imposed on you (whether by court order,
  11424. >      agreement or otherwise) that contradict the conditions of this
  11425. >      License, they do not excuse you from the conditions of this
  11426. >      License.  If you cannot distribute so as to satisfy
  11427. >      simultaneously your obligations under this License and any
  11428. >      other pertinent obligations, then as a consequence you may not
  11429. >      distribute the Program at all.  For example, if a patent
  11430. >      license would not permit royalty-free redistribution of the
  11431. >      Program by all those who receive copies directly or indirectly
  11432. >      through you, then the only way you could satisfy both it and
  11433. >      this License would be to refrain entirely from distribution of
  11434. >      the Program.
  11435. >         If any portion of this section is held invalid or
  11436. >      unenforceable under any particular circumstance, the balance of
  11437. >      the section is intended to apply and the section as a whole is
  11438. >      intended to apply in other circumstances.
  11439. >         It is not the purpose of this section to induce you to
  11440. >      infringe any patents or other property right claims or to
  11441. >      contest validity of any such claims; this section has the sole
  11442. >      purpose of protecting the integrity of the free software
  11443. >      distribution system, which is implemented by public license
  11444. >      practices.  Many people have made generous contributions to the
  11445. >      wide range of software distributed through that system in
  11446. >      reliance on consistent application of that system; it is up to
  11447. >      the author/donor to decide if he or she is willing to
  11448. >      distribute software through any other system and a licensee
  11449. >      cannot impose that choice.
  11450. >         This section is intended to make thoroughly clear what is
  11451. >      believed to be a consequence of the rest of this License.
  11452. >   9. If the distribution and/or use of the Program is restricted in
  11453. >      certain countries either by patents or by copyrighted
  11454. >      interfaces, the original copyright holder who places the
  11455. >      Program under this License may add an explicit geographical
  11456. >      distribution limitation excluding those countries, so that
  11457. >      distribution is permitted only in or among countries not thus
  11458. >      excluded.  In such case, this License incorporates the
  11459. >      limitation as if written in the body of this License.
  11460. >  10. The Free Software Foundation may publish revised and/or new
  11461. >      versions of the General Public License from time to time.  Such
  11462. >      new versions will be similar in spirit to the present version,
  11463. >      but may differ in detail to address new problems or concerns.
  11464. >         Each version is given a distinguishing version number.  If
  11465. >      the Program specifies a version number of this License which
  11466. >      applies to it and "any later version", you have the option of
  11467. >      following the terms and conditions either of that version or of
  11468. >      any later version published by the Free Software Foundation. 
  11469. >      If the Program does not specify a version number of this
  11470. >      License, you may choose any version ever published by the Free
  11471. >      Software Foundation.
  11472. >  11. If you wish to incorporate parts of the Program into other free
  11473. >      programs whose distribution conditions are different, write to
  11474. >      the author to ask for permission.  For software which is
  11475. >      copyrighted by the Free Software Foundation, write to the Free
  11476. >      Software Foundation; we sometimes make exceptions for this. 
  11477. >      Our decision will be guided by the two goals of preserving the
  11478. >      free status of all derivatives of our free software and of
  11479. >      promoting the sharing and reuse of software generally.
  11480. >                                       NO WARRANTY
  11481. >  12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
  11482. >      WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
  11483. >      LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  11484. >      HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
  11485. >      WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
  11486. >      INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  11487. >     
  11488. >      MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE
  11489. >      ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
  11490. >      WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
  11491. >      COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  11492. >  13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
  11493. >      WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
  11494. >      MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
  11495. >      LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
  11496. >      INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  11497. >      INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
  11498. >      OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED
  11499. >      BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
  11500. >      WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
  11501. >      HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  11502. >                          END OF TERMS AND CONDITIONS
  11503. > Applying These Terms to Your New Programs
  11504. > =========================================
  11505. >    If you develop a new program, and you want it to be of the
  11506. > greatest possible use to the public, the best way to achieve this is
  11507. > to make it free software which everyone can redistribute and change
  11508. > under these terms.
  11509. >    To do so, attach the following notices to the program.  It is
  11510. > safest to attach them to the start of each source file to most
  11511. > effectively convey the exclusion of warranty; and each file should
  11512. > have
  11513. > at least the "copyright" line and a pointer to where the full notice
  11514. > is found.
  11515. >      ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
  11516. >      Copyright (C) 19YY  NAME OF AUTHOR
  11517. >      
  11518. >      This program is free software; you can redistribute it and/or modify
  11519. >      it under the terms of the GNU General Public License as published by
  11520. >      the Free Software Foundation; either version 2 of the License, or
  11521. >      (at your option) any later version.
  11522. >      
  11523. >      This program is distributed in the hope that it will be useful,
  11524. >      but WITHOUT ANY WARRANTY; without even the implied warranty of
  11525. >      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11526. >      GNU General Public License for more details.
  11527. >      
  11528. >      You should have received a copy of the GNU General Public License
  11529. >      along with this program; if not, write to the Free Software
  11530. >      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  11531. >    Also add information on how to contact you by electronic and paper
  11532. > mail.
  11533. >    If the program is interactive, make it output a short notice like
  11534. > this when it starts in an interactive mode:
  11535. >      Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
  11536. >      Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
  11537. >      This is free software, and you are welcome to redistribute it
  11538. >      under certain conditions; type `show c' for details.
  11539. >    The hypothetical commands `show w' and `show c' should show the
  11540. > appropriate parts of the General Public License.  Of course, the
  11541. > commands you use may be called something other than `show w' and
  11542. > `show c'; they could even be mouse-clicks or menu items--whatever
  11543. > suits
  11544. > your
  11545. > program.
  11546. >    You should also get your employer (if you work as a programmer) or
  11547. > your school, if any, to sign a "copyright disclaimer" for the
  11548. > program, if necessary.  Here is a sample; alter the names:
  11549. >      Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  11550. >      `Gnomovision' (which makes passes at compilers) written by James Hacker.
  11551. >      
  11552. >      SIGNATURE OF TY COON, 1 April 1989
  11553. >      Ty Coon, President of Vice
  11554. >    This General Public License does not permit incorporating your
  11555. > program into proprietary programs.  If your program is a subroutine
  11556. > library, you may consider it more useful to permit linking
  11557. > proprietary applications with the library.  If this is what you want
  11558. > to do, use the GNU Library General Public License instead of this
  11559. > License.
  11560. > 
  11561. 48a435,436
  11562. > * C++:                                  Cplusplus.
  11563. > * C++ exception handling:               Cplusplus commands.
  11564. 50c438
  11565. < * C++ overloading:                      Breakpoint Menus.
  11566. ---
  11567. > * C++ symbol display:                   Cplusplus commands.
  11568. 55a444,445
  11569. > * GDB reference card:                   Formatting Manual.
  11570. > * GNU C++:                              Cplusplus.
  11571. 74a465
  11572. > * break in overloaded functions:        Cplusplus commands.
  11573. 79a471
  11574. > * call overloaded functions:            Cplusplus expressions.
  11575. 91a484
  11576. > * commands for C++:                     Cplusplus commands.
  11577. 145d537
  11578. < * exception handlers:                   Frame Info.
  11579. 146a539
  11580. > * exception handlers:                   Frame Info.
  11581. 150a544
  11582. > * expressions in C++:                   Cplusplus expressions.
  11583. 156a551
  11584. > * floating point registers:             Registers.
  11585. 165a561
  11586. > * g++:                                  Cplusplus.
  11587. 184a581
  11588. > * info all-registers:                   Registers.
  11589. 220a618
  11590. > * inheritance:                          Cplusplus commands.
  11591. 235a634
  11592. > * member functions:                     Cplusplus expressions.
  11593. 237a637
  11594. > * namespace in C++:                     Cplusplus expressions.
  11595. 245a646,647
  11596. > * overloading:                          Breakpoint Menus.
  11597. > * overloading in C++:                   Cplusplus commands.
  11598. 262a665,666
  11599. > * reference card:                       Formatting Manual.
  11600. > * reference declarations:               Cplusplus expressions.
  11601. 264a669
  11602. > * reloading symbols:                    Messages/Warnings.
  11603. 312a718
  11604. > * set symbol-reloading:                 Messages/Warnings.
  11605. 392a799
  11606. > * this:                                 Cplusplus expressions.
  11607. 393a801
  11608. > * type conversions in C++:              Cplusplus expressions.
  11609. diff -r gdb-3.98/gdb/gdbcore.h gdb-4.0/gdb/gdbcore.h
  11610. 71,85d70
  11611. < /* Struct section_table maps address ranges to file sections.  It is
  11612. <    mostly used with BFD files, but can be used without (e.g. for handling
  11613. <    raw disks, or files not in formats handled by BFD).  */
  11614. < struct section_table {
  11615. <   CORE_ADDR addr;        /* Lowest address in section */
  11616. <   CORE_ADDR endaddr;        /* 1+highest address in section */
  11617. <   sec_ptr   sec_ptr;        /* BFD section pointer */
  11618. < };
  11619. < /* Builds a section table, given args BFD, SECTABLE_PTR, SECEND_PTR.
  11620. <    Returns 0 if OK, 1 on error.  */
  11621. < int build_section_table ();    
  11622. diff -r gdb-3.98/gdb/i960-tdep.c gdb-4.0/gdb/i960-tdep.c
  11623. 37c37
  11624. < const struct ext_format ext_format_i960 [] = {
  11625. ---
  11626. > const struct ext_format ext_format_i960 = {
  11627. 39c39
  11628. <  { 12, 9,    0x80, 9,8,       4,0  },        /* i960 */
  11629. ---
  11630. >    12, 9,    0x80, 9,8,       4,0,        /* i960 */
  11631. diff -r gdb-3.98/gdb/ieee-float.c gdb-4.0/gdb/ieee-float.c
  11632. 79c79
  11633. <   unsigned char twobytes[2];
  11634. ---
  11635. >   unsigned char tobytes[8];
  11636. 98c98
  11637. <   bcopy (from, twobytes, 2);
  11638. ---
  11639. >   bcopy (from, tobytes, 8);
  11640. 100c100
  11641. <   exponent = ((twobytes[1] & 0xF0) >> 4) | (twobytes[0] & 0x7F) << 4;
  11642. ---
  11643. >   exponent = ((tobytes[1] & 0xF0) >> 4) | (tobytes[0] & 0x7F) << 4;
  11644. 104c104
  11645. <   exponent = ((twobytes[0] & 0xF0) >> 4) | (twobytes[1] & 0x7F) << 4;
  11646. ---
  11647. >   exponent = ((tobytes[6] & 0xF0) >> 4) | (tobytes[7] & 0x7F) << 4;
  11648. diff -r gdb-3.98/gdb/infcmd.c gdb-4.0/gdb/infcmd.c
  11649. 422c422
  11650. < /* 4 => return instead of letting the stack dummy run.  */
  11651. ---
  11652. > /* DEBUG HOOK:  4 => return instead of letting the stack dummy run.  */
  11653. 790c790,792
  11654. <    print all registers.
  11655. ---
  11656. >    print all registers (fpregs == 1) or all non-float registers
  11657. >    (fpregs == 0).
  11658. 793c795
  11659. <    is required, (eg, for SPARC or Pyramid 90x, which both have
  11660. ---
  11661. >    is required, (eg, for MIPS or Pyramid 90x, which both have
  11662. 795c797
  11663. <    all the registers, define the macro DO_REGISTERS_INFO(regnum)
  11664. ---
  11665. >    all the registers, define the macro DO_REGISTERS_INFO(regnum, fp)
  11666. 796a799
  11667. 798,799c801,803
  11668. < #define DO_REGISTERS_INFO(regnum) do_registers_info(regnum)
  11669. < static void do_registers_info (regnum)
  11670. ---
  11671. > #define DO_REGISTERS_INFO(regnum, fp) do_registers_info(regnum, fp)
  11672. > static void
  11673. > do_registers_info (regnum, fpregs)
  11674. 800a805
  11675. >      int fpregs;
  11676. 804,807d808
  11677. <   if (regnum == -1)
  11678. <     printf_filtered (
  11679. <       "Register       Contents (relative to selected stack frame)\n\n");
  11680. 813,814c814,821
  11681. <       if (regnum != -1 && i != regnum)
  11682. <     continue;
  11683. ---
  11684. >       /* Decide between printing all regs, nonfloat regs, or specific reg.  */
  11685. >       if (regnum == -1) {
  11686. >     if (TYPE_CODE (REGISTER_VIRTUAL_TYPE (i)) == TYPE_CODE_FLT && !fpregs)
  11687. >       continue;
  11688. >       } else {
  11689. >         if (i != regnum)
  11690. >       continue;
  11691. >       }
  11692. 876c883
  11693. < registers_info (addr_exp)
  11694. ---
  11695. > registers_info (addr_exp, fpregs)
  11696. 877a885
  11697. >      int fpregs;
  11698. 903c911,925
  11699. <   DO_REGISTERS_INFO(regnum);
  11700. ---
  11701. >   DO_REGISTERS_INFO(regnum, fpregs);
  11702. > }
  11703. > static void
  11704. > all_registers_info (addr_exp)
  11705. >      char *addr_exp;
  11706. > {
  11707. >   registers_info (addr_exp, 1);
  11708. > }
  11709. > static void
  11710. > nofp_registers_info (addr_exp)
  11711. >      char *addr_exp;
  11712. > {
  11713. >   registers_info (addr_exp, 0);
  11714. 1104,1105c1126,1131
  11715. <   add_info ("registers", registers_info,
  11716. <         "List of registers and their contents, for selected stack frame.\n\
  11717. ---
  11718. >   add_info ("registers", nofp_registers_info,
  11719. >     "List of integer registers and their contents, for selected stack frame.\n\
  11720. > Register name as argument means describe only that register.");
  11721. >   add_info ("all-registers", all_registers_info,
  11722. > "List of all registers and their contents, for selected stack frame.\n\
  11723. diff -r gdb-3.98/gdb/inflow.c gdb-4.0/gdb/inflow.c
  11724. 308,311c308,311
  11725. < /* NEW_TTY is called in new child processes under Unix, which will
  11726. <    become debugger target processes.
  11727. <    If the TTYNAME argument is non-null, we switch to that tty for further
  11728. <    input and output.  In either case, we remember the setup.  */
  11729. ---
  11730. > /* NEW_TTY_PREFORK is called before forking a new child process,
  11731. >    so we can record the state of ttys in the child to be formed.
  11732. >    TTYNAME is null if we are to share the terminal with gdb;
  11733. >    or points to a string containing the name of the desired tty.
  11734. 313,314c313,317
  11735. < void
  11736. < new_tty (ttyname)
  11737. ---
  11738. >    NEW_TTY is called in new child processes under Unix, which will
  11739. >    become debugger target processes.  This actually switches to
  11740. >    the terminal specified in the NEW_TTY_PREFORK call.  */
  11741. > new_tty_prefork (ttyname)
  11742. 317,318d319
  11743. <   register int tty;
  11744. 322c323,330
  11745. <   if (ttyname == 0)
  11746. ---
  11747. > }
  11748. > void
  11749. > new_tty ()
  11750. > {
  11751. >   register int tty;
  11752. >   if (inferior_thisrun_terminal == 0)
  11753. 337c345
  11754. <   tty = open(ttyname, O_RDWR);
  11755. ---
  11756. >   tty = open(inferior_thisrun_terminal, O_RDWR);
  11757. 340c348
  11758. <       print_sys_errmsg (ttyname, errno);
  11759. ---
  11760. >       print_sys_errmsg (inferior_thisrun_terminal, errno);
  11761. 473c481
  11762. <   fcntl (0, F_GETFL, tflags_ours);
  11763. ---
  11764. >   tflags_ours = fcntl (0, F_GETFL, 0);
  11765. diff -r gdb-3.98/gdb/infptrace.c gdb-4.0/gdb/infptrace.c
  11766. 163a164
  11767. > #include <a.out.gnu.h>        /* For struct nlist */
  11768. 327c328
  11769. < child_xfer_memory (memaddr, myaddr, len, write)
  11770. ---
  11771. > child_xfer_memory (memaddr, myaddr, len, write, target)
  11772. 331a333
  11773. >      struct target_ops target;        /* ignored */
  11774. diff -r gdb-3.98/gdb/infrun.c gdb-4.0/gdb/infrun.c
  11775. 150a151
  11776. > extern char **environ;
  11777. 154d154
  11778. < /* Copy of inferior_io_terminal when inferior was last started.  */
  11779. 156,158d155
  11780. < extern char *inferior_thisrun_terminal;
  11781. 299a297,301
  11782. >   /* Handle any optimized stores to the inferior NOW...  */
  11783. > #ifdef DO_DEFERRED_STORES
  11784. >   DO_DEFERRED_STORES;
  11785. > #endif
  11786. 407,411d408
  11787. <   /* Handle any optimized stores to the inferior NOW...  */
  11788. < #ifdef DO_DEFERRED_STORES
  11789. <   DO_DEFERRED_STORES;
  11790. < #endif
  11791. 474a472
  11792. >   char **save_our_env;
  11793. 502a501,510
  11794. >   /* Retain a copy of our environment variables, since the child will
  11795. >      replace the value of  environ  and if we're vforked, we have to 
  11796. >      restore it.  */
  11797. >   save_our_env = environ;
  11798. >   /* Tell the terminal handling subsystem what tty we plan to run on;
  11799. >      it will just record the information for later.  */
  11800. >   new_tty_prefork (inferior_io_terminal);
  11801. 538,539c546,547
  11802. <       /* Tell the terminal handling subsystem what tty we plan to run on;
  11803. <      it will now switch to that one if non-null.  */
  11804. ---
  11805. >       /* Ask the tty subsystem to switch to the one we specified earlier
  11806. >      (or to share the current terminal, if none was specified).  */
  11807. 541c549
  11808. <       new_tty (inferior_io_terminal);
  11809. ---
  11810. >       new_tty ();
  11811. 550d557
  11812. <       execle (shell_file, shell_file, "-c", shell_command, (char *)0, env);
  11813. 551a559,566
  11814. >       /* There is no execlpe call, so we have to set the environment
  11815. >      for our child in the global variable.  If we've vforked, this
  11816. >      clobbers the parent, but environ is restored a few lines down
  11817. >      in the parent.  By the way, yes we do need to look down the
  11818. >      path to find $SHELL.  Rich Pixley says so, and I agree.  */
  11819. >       environ = env;
  11820. >       execlp (shell_file, shell_file, "-c", shell_command, (char *)0);
  11821. 556a572,574
  11822. >   /* Restore our environment in case a vforked child clob'd it.  */
  11823. >   environ = save_our_env;
  11824. diff -r gdb-3.98/gdb/inftarg.c gdb-4.0/gdb/inftarg.c
  11825. 38c38
  11826. < extern void kill_inferior(), add_syms_addr_command();
  11827. ---
  11828. > extern void kill_inferior();
  11829. 182c182
  11830. <     kill_inferior, 0, add_syms_addr_command,  /* load */
  11831. ---
  11832. >     kill_inferior, 0,  /* load */
  11833. 187a188
  11834. >     0, 0,            /* Section pointers */
  11835. diff -r gdb-3.98/gdb/m68k-tdep.c gdb-4.0/gdb/m68k-tdep.c
  11836. 23c23
  11837. < const struct ext_format ext_format_68881 [] = {
  11838. ---
  11839. > const struct ext_format ext_format_68881 = {
  11840. 25c25
  11841. <  { 12, 0,    0x80, 0,1,       4,8    },        /* mc68881 */
  11842. ---
  11843. >    12, 0,    0x80, 0,1,       4,8        /* mc68881 */
  11844. diff -r gdb-3.98/gdb/main.c gdb-4.0/gdb/main.c
  11845. 49a50
  11846. > #include <ctype.h>
  11847. 54d54
  11848. < #include <ctype.h>
  11849. 394a395
  11850. >     {0, 0, 0, 0},
  11851. 586c587
  11852. <     else if (!setjmp (to_top_level))
  11853. ---
  11854. >     else if (isdigit (corearg[0]) && !setjmp (to_top_level))
  11855. 788,792c789,790
  11856. <    If RETURN_RESULT is set it allocates
  11857. <    space for whatever the user types and returns the result.
  11858. <    If not, it just discards what the user types and returns a garbage
  11859. <    non-NULL value.
  11860. ---
  11861. >    Action is compatible with "readline", e.g. space for the result is 
  11862. >    malloc'd and should be freed by the caller.
  11863. 794c792
  11864. <    No matter what return_result is, a NULL return means end of file.  */
  11865. ---
  11866. >    A NULL return means end of file.  */
  11867. 796c794
  11868. < gdb_readline (prrompt, return_result)
  11869. ---
  11870. > gdb_readline (prrompt)
  11871. 798d795
  11872. <      int return_result;
  11873. 811,812c808
  11874. <   if (return_result)
  11875. <     result = (char *) xmalloc (result_size);
  11876. ---
  11877. >   result = (char *) xmalloc (result_size);
  11878. 819,821c815,816
  11879. <       if (c == EOF || c == '\n')
  11880. <     break;
  11881. <       if (return_result)
  11882. ---
  11883. >       if (c == EOF)
  11884. 823,828c818,819
  11885. <       result[input_index++] = c;
  11886. <       while (input_index >= result_size)
  11887. <         {
  11888. <           result_size *= 2;
  11889. <           result = (char *) xrealloc (result, result_size);
  11890. <         }
  11891. ---
  11892. >       free (result);
  11893. >       return NULL;
  11894. 830d820
  11895. <     }
  11896. 832,846c822,834
  11897. <   if (c == EOF)
  11898. <     {
  11899. <       if (return_result)
  11900. <     free (result);
  11901. <       return NULL;
  11902. <     }
  11903. <   if (return_result)
  11904. <     {
  11905. <       result[input_index++] = '\0';
  11906. <       return result;
  11907. <     }
  11908. <   else
  11909. <     /* Return any old non-NULL pointer.  */
  11910. <     return (char *) "non-NULL";
  11911. ---
  11912. >       if (c == '\n')
  11913. >     break;
  11914. >       result[input_index++] = c;
  11915. >       while (input_index >= result_size)
  11916. >     {
  11917. >       result_size *= 2;
  11918. >       result = (char *) xrealloc (result, result_size);
  11919. >     }
  11920. >     }
  11921. >   result[input_index++] = '\0';
  11922. >   return result;
  11923. 1034,1081d1021
  11924. < #if 0
  11925. < Writing the history file upon a terminating signal is not useful,
  11926. <   because the info is rarely relevant and is in the core dump anyway.
  11927. <   It is an annoyance to have the file cluttering up the place.
  11928. < /* The list of signals that would terminate us if not caught.
  11929. <    We catch them, but just so that we can write the history file,
  11930. <    and so forth. */
  11931. < int terminating_signals[] = {
  11932. <   SIGHUP, SIGINT, SIGILL, SIGTRAP, SIGIOT,
  11933. <   SIGEMT, SIGFPE, SIGKILL, SIGBUS, SIGSEGV, SIGSYS,
  11934. <   SIGPIPE, SIGALRM, SIGTERM,
  11935. < #ifdef SIGXCPU
  11936. <   SIGXCPU,
  11937. < #endif
  11938. < #ifdef SIGXFSZ
  11939. <   SIGXFSZ,
  11940. < #endif
  11941. < #ifdef SIGVTALRM
  11942. <   SIGVTALRM,
  11943. < #endif
  11944. < #ifdef SIGPROF
  11945. <   SIGPROF,
  11946. < #endif
  11947. < #ifdef SIGLOST
  11948. <   SIGLOST,
  11949. < #endif
  11950. < #ifdef SIGUSR1
  11951. <   SIGUSR1, SIGUSR2
  11952. < #endif
  11953. <     };
  11954. < #define TERMSIGS_LENGTH (sizeof (terminating_signals) / sizeof (int))
  11955. < static void
  11956. < catch_termination (sig)
  11957. <      int sig;
  11958. < {
  11959. <   /* We are probably here because GDB has a bug.  Write out the history
  11960. <      so that we might have a better chance of reproducing it.  */
  11961. <   /* Tell the user what we are doing so he can delete the file if
  11962. <      it is unwanted.  */
  11963. <   write_history (history_filename);
  11964. <   printf ("\n%s written.\n", history_filename);
  11965. <   signal (sig, SIG_DFL);
  11966. <   kill (getpid (), sig);
  11967. < }
  11968. < #endif
  11969. 1092,1097d1031
  11970. < #if 0
  11971. <   register int i;
  11972. <   for (i = 0; i < TERMSIGS_LENGTH; i++)
  11973. <     signal (terminating_signals[i], catch_termination);
  11974. < #endif
  11975. 1104c1038
  11976. <      on BSD4.3 systems using vfork, that will (apparently) affect the
  11977. ---
  11978. >      on BSD4.3 systems using vfork, that can affect the
  11979. 1106c1040
  11980. <      being shared between the two, apparently).  Since we establish
  11981. ---
  11982. >      might be in memory, shared between the two).  Since we establish
  11983. 1174c1108
  11984. <     rl = gdb_readline (local_prompt, 1);
  11985. ---
  11986. >     rl = gdb_readline (local_prompt);
  11987. diff -r gdb-3.98/gdb/mcheck.c gdb-4.0/gdb/mcheck.c
  11988. 23d22
  11989. < #include <stdlib.h>
  11990. 30a30
  11991. 32c32,33
  11992. < static void EXFUN((*abortfunc), (void)) = abort;
  11993. ---
  11994. > extern void abort();
  11995. > static void EXFUN((*abortfunc), (void)) = (void (*)()) abort;
  11996. diff -r gdb-3.98/gdb/mips-tdep.c gdb-4.0/gdb/mips-tdep.c
  11997. 539c539,540
  11998. < static mips_print_register(regnum, all)
  11999. ---
  12000. > static
  12001. > mips_print_register(regnum, all)
  12002. 583c584,585
  12003. < mips_do_registers_info(regnum)
  12004. ---
  12005. > /* Replacement for generic do_registers_info.  */
  12006. > mips_do_registers_info (regnum, fpregs)
  12007. 584a587
  12008. >      int fpregs;
  12009. 591a595,598
  12010. >       if ((!fpregs) && regnum >= FP0_REGNUM && regnum <= FCRIR_REGNUM) {
  12011. >         regnum++;
  12012. >         continue;
  12013. >       }
  12014. diff -r gdb-3.98/gdb/pyr-tdep.c gdb-4.0/gdb/pyr-tdep.c
  12015. 49c49,50
  12016. < /* Print the register regnum, or all registers if regnum is -1. */
  12017. ---
  12018. > /* Print the register regnum, or all registers if regnum is -1.
  12019. >    fpregs is currently ignored.  */
  12020. 51c52
  12021. < pyr_do_registers_info (regnum)
  12022. ---
  12023. > pyr_do_registers_info (regnum, fpregs)
  12024. 52a54
  12025. >     int fpregs;
  12026. Only in gdb-4.0/gdb: refcard.ps
  12027. diff -r gdb-3.98/gdb/remote-eb.c gdb-4.0/gdb/remote-eb.c
  12028. 43d42
  12029. < extern void add_syms_addr_command ();
  12030. 792c791
  12031. < eb_xfer_inferior_memory (memaddr, myaddr, len, write)
  12032. ---
  12033. > eb_xfer_inferior_memory (memaddr, myaddr, len, write, target)
  12034. 796a796
  12035. >      struct target_ops *target;        /* ignored */
  12036. 925c925
  12037. <     0, add_syms_addr_command,    /* load */
  12038. ---
  12039. >     0,    /* load */
  12040. 931a932
  12041. >     0, 0,            /* Section pointers */
  12042. diff -r gdb-3.98/gdb/remote-nindy.c gdb-4.0/gdb/remote-nindy.c
  12043. 127d126
  12044. < extern void add_syms_addr_command ();
  12045. 134c133
  12046. < extern struct ext_format ext_format_i960[];    /* i960-tdep.c */
  12047. ---
  12048. > extern struct ext_format ext_format_i960;    /* i960-tdep.c */
  12049. 499c498
  12050. <     double_to_ieee_extended (ext_format_i960, &dub,
  12051. ---
  12052. >     double_to_ieee_extended (&ext_format_i960, &dub,
  12053. 528c527
  12054. <     ieee_extended_to_double (ext_format_i960,
  12055. ---
  12056. >     ieee_extended_to_double (&ext_format_i960,
  12057. 576c575
  12058. < nindy_xfer_inferior_memory(memaddr, myaddr, len, write)
  12059. ---
  12060. > nindy_xfer_inferior_memory(memaddr, myaddr, len, write, target)
  12061. 580a580
  12062. >      struct target_ops *target;            /* ignored */
  12063. 950c950
  12064. <     nindy_load, add_syms_addr_command,
  12065. ---
  12066. >     nindy_load,
  12067. 956a957
  12068. >     0, 0,            /* Section pointers */
  12069. diff -r gdb-3.98/gdb/remote-vx.c gdb-4.0/gdb/remote-vx.c
  12070. 57d56
  12071. < extern void add_syms_addr_command ();
  12072. 902c901
  12073. < vx_xfer_memory (memaddr, myaddr, len, write)
  12074. ---
  12075. > vx_xfer_memory (memaddr, myaddr, len, write, target)
  12076. 905a905,906
  12077. >      int write;
  12078. >      struct target_ops *target;            /* ignored */
  12079. 1751c1752
  12080. <     vx_load_command, add_syms_addr_command,
  12081. ---
  12082. >     vx_load_command,
  12083. 1756a1758
  12084. >     0, 0,            /* Section pointers */
  12085. 1773c1775
  12086. <     vx_load_command, add_syms_addr_command,
  12087. ---
  12088. >     vx_load_command,
  12089. 1779a1782
  12090. >     0, 0,            /* Section pointers */
  12091. diff -r gdb-3.98/gdb/remote.c gdb-4.0/gdb/remote.c
  12092. 86d85
  12093. < extern void add_syms_addr_command ();
  12094. 475a475
  12095. > /* ARGSUSED */
  12096. 477c477
  12097. < remote_xfer_inferior_memory(memaddr, myaddr, len, should_write)
  12098. ---
  12099. > remote_xfer_memory(memaddr, myaddr, len, should_write, target)
  12100. 481a482
  12101. >      struct target_ops *target;            /* ignored */
  12102. 837c838
  12103. <     remote_xfer_inferior_memory, remote_files_info,
  12104. ---
  12105. >     remote_xfer_memory, remote_files_info,
  12106. 841c842
  12107. <     0, add_syms_addr_command,  /* load */
  12108. ---
  12109. >     0,  /* load */
  12110. 846a848
  12111. >     0, 0,            /* Section pointers */
  12112. diff -r gdb-3.98/gdb/solib.c gdb-4.0/gdb/solib.c
  12113. 51,52c51,52
  12114. <     struct section_table *so_sections;
  12115. <     struct section_table *so_sections_end;
  12116. ---
  12117. >     struct section_table *sections;
  12118. >     struct section_table *sections_end;
  12119. 88c88
  12120. <   if (build_section_table (so->so_bfd, &so->so_sections, &so->so_sections_end))
  12121. ---
  12122. >   if (build_section_table (so->so_bfd, &so->sections, &so->sections_end))
  12123. 92c92
  12124. <   for (p = so->so_sections; p < so->so_sections_end; p++)
  12125. ---
  12126. >   for (p = so->sections; p < so->sections_end; p++)
  12127. 206c206
  12128. <      new->so_sections = NULL;
  12129. ---
  12130. >      new->sections = NULL;
  12131. 219,242d218
  12132. < /*
  12133. < ** Called by core_xfer_memory if the transfer form the core file failed.
  12134. < ** We try to satisfy the request from the text sections of the shared libs.
  12135. < */
  12136. < int
  12137. < solib_xfer_memory (memaddr, myaddr, len, write)
  12138. <      CORE_ADDR memaddr;
  12139. <      char *myaddr;
  12140. <      int len;
  12141. <      int write;
  12142. < {
  12143. <   int res;
  12144. <   register struct so_list *so = 0;
  12145. <   while (so = find_solib(so))
  12146. <     {
  12147. <       res = xfer_memory (memaddr, myaddr, len, write,
  12148. <                  so->so_bfd, so->so_sections, so->so_sections_end);
  12149. <       if (res)
  12150. <     return res;
  12151. <     }
  12152. <   return 0;
  12153. < }
  12154. < /*=======================================================================*/
  12155. 244,246c220,224
  12156. < void solib_add(arg_string, from_tty)
  12157. < char *arg_string;
  12158. < int from_tty;
  12159. ---
  12160. > void
  12161. > solib_add (arg_string, from_tty, target)
  12162. >      char *arg_string;
  12163. >      int from_tty;
  12164. >      struct target_ops *target;
  12165. 248,249c226,229
  12166. <     register struct so_list *so = 0;       /* link map state variable */
  12167. <     char *val;
  12168. ---
  12169. >   register struct so_list *so = 0;       /* link map state variable */
  12170. >   char *val;
  12171. >   int count, old;
  12172. >   struct section_table *sec;
  12173. 251,266c231,235
  12174. <     if (arg_string == 0)
  12175. <     re_comp (".");
  12176. <     else if (val = (char *) re_comp (arg_string)) {
  12177. <     error ("Invalid regexp: %s", val);
  12178. <     }
  12179. <     /* Getting new symbols may change our opinion about what is
  12180. <        frameless.  */
  12181. <     reinit_frame_cache ();
  12182. <  
  12183. <     printf_filtered ("All shared libraries");
  12184. <     if (arg_string)
  12185. <       printf_filtered (" matching regular expresion \"%s\"", arg_string);
  12186. <     printf_filtered (":\n");
  12187. <     
  12188. <     dont_repeat();
  12189. ---
  12190. >   if (arg_string == 0)
  12191. >       re_comp (".");
  12192. >   else if (val = (char *) re_comp (arg_string)) {
  12193. >       error ("Invalid regexp: %s", val);
  12194. >   }
  12195. 268,277c237,290
  12196. <     while (so = find_solib(so)) {
  12197. <     if (re_exec(so->inferior_so_name)) {
  12198. <         if (so->symbols_loaded) {
  12199. <         printf("Symbols already loaded for %s\n", so->inferior_so_name);
  12200. <         } else {
  12201. <         symbol_file_add (so->inferior_so_name, from_tty,
  12202. <                  (unsigned int)so->inferior_lm.lm_addr, 0);
  12203. <         so->symbols_loaded = 1;
  12204. <         }
  12205. <     }
  12206. ---
  12207. >   /* Getting new symbols may change our opinion about what is
  12208. >      frameless.  */
  12209. >   reinit_frame_cache ();
  12210. >   printf_filtered ("Shared libraries");
  12211. >   if (arg_string)
  12212. >     printf_filtered (" matching regular expresion \"%s\"", arg_string);
  12213. >   printf_filtered (":\n");
  12214. >   
  12215. >   dont_repeat();
  12216. >   while (so = find_solib(so)) {
  12217. >       if (re_exec(so->inferior_so_name)) {
  12218. >       if (so->symbols_loaded) {
  12219. >           printf("Symbols already loaded for %s\n", so->inferior_so_name);
  12220. >       } else {
  12221. >           symbol_file_add (so->inferior_so_name, from_tty,
  12222. >                    (unsigned int)so->inferior_lm.lm_addr, 0);
  12223. >           so->symbols_loaded = 1;
  12224. >       }
  12225. >       }
  12226. >   }
  12227. >   /* Now add the shared library sections to the section table of the
  12228. >      specified target, if any.  */
  12229. >   if (target) {
  12230. >     /* Count how many new section_table entries there are.  */
  12231. >     so = 0;
  12232. >     count = 0;
  12233. >     while (0 != (so = find_solib (so))) {
  12234. >       count += so->sections_end - so->sections;
  12235. >     }
  12236. >     if (count) {
  12237. >       /* Reallocate the target's section table including the new size.  */
  12238. >       if (target->sections) {
  12239. >     old = target->sections_end - target->sections;
  12240. >     target->sections = (struct section_table *)
  12241. >         realloc ((char *)target->sections,
  12242. >           (sizeof (struct section_table)) * (count + old));
  12243. >       } else {
  12244. >     old = 0;
  12245. >     target->sections = (struct section_table *)
  12246. >         malloc ((sizeof (struct section_table)) * count);
  12247. >       }
  12248. >       target->sections_end = target->sections + (count + old);
  12249. >       /* Add these section table entries to the target's table.  */
  12250. >       while (0 != (so = find_solib (so))) {
  12251. >     count = so->sections_end - so->sections;
  12252. >     bcopy (so->sections, (char *)(target->sections + old), 
  12253. >            (sizeof (struct section_table)) * count);
  12254. >     old += count;
  12255. >       }
  12256. 278a292
  12257. >   }
  12258. 279a294
  12259. 327,328c342,343
  12260. <     if (so_list_head->so_sections)
  12261. <       free (so_list_head->so_sections);
  12262. ---
  12263. >     if (so_list_head->sections)
  12264. >       free (so_list_head->sections);
  12265. 335c350,355
  12266. <     
  12267. ---
  12268. > }
  12269. > void
  12270. > sharedlibrary_command (args, from_tty)
  12271. > {
  12272. >   solib_add (args, from_tty, (struct target_ops *)0);
  12273. 342c362
  12274. <   add_com("sharedlibrary", class_files, solib_add,
  12275. ---
  12276. >   add_com("sharedlibrary", class_files, sharedlibrary_command,
  12277. 346d365
  12278. diff -r gdb-3.98/gdb/source.c gdb-4.0/gdb/source.c
  12279. 39c39,42
  12280. < extern char *strstr();
  12281. ---
  12282. > /* If we use this declaration, it breaks because of fucking ANSI "const" stuff
  12283. >    on some systems.  We just have to not declare it at all, have it default
  12284. >    to int, and possibly botch on a few systems.  Thanks, ANSIholes... */
  12285. > /* extern char *strstr(); */
  12286. 506c509,511
  12287. <       p = strstr (source_path, "$cdir");
  12288. ---
  12289. >       /* We cast strstr's result in case an ANSIhole has made it const,
  12290. >      which produces a "required warning" when assigned to a nonconst. */
  12291. >       p = (char *)strstr (source_path, "$cdir");
  12292. 545c550
  12293. < #if defined (BROKEN_LARGE_ALLOCA)
  12294. ---
  12295. > #ifdef BROKEN_LARGE_ALLOCA
  12296. diff -r gdb-3.98/gdb/sparc-tdep.c gdb-4.0/gdb/sparc-tdep.c
  12297. 130,131c130,133
  12298. <   read_memory ((CORE_ADDR)&(((struct rwindow *)(thisframe->frame))->rw_in[6]),
  12299. <            &retval,
  12300. ---
  12301. >   int err;
  12302. >   err = target_read_memory
  12303. >           ((CORE_ADDR)&(((struct rwindow *)(thisframe->frame))->rw_in[6]),
  12304. >            (char *) &retval,
  12305. 132a135,136
  12306. >   if (err)
  12307. >     return 0;
  12308. 189c193
  12309. ---
  12310. >   fid->pc = FRAME_SAVED_PC (fid);
  12311. 289c293,299
  12312. < /* This routine should be more specific in it's actions; making sure
  12313. ---
  12314. > /* Given a pc value, skip it forward past the function prologue by
  12315. >    disassembling instructions that appear to be a prologue.
  12316. >    If FRAMELESS_P is set, we are only testing to see if the function
  12317. >    is frameless.  This allows a quicker answer.
  12318. >    This routine should be more specific in its actions; making sure
  12319. 292c302
  12320. < skip_prologue (start_pc)
  12321. ---
  12322. > skip_prologue (start_pc, frameless_p)
  12323. 293a304
  12324. >      int frameless_p;
  12325. 318,319d328
  12326. <   /* Have we found a save instruction?  */
  12327. <   int found_save = 0;
  12328. 348d356
  12329. <       found_save = 1;
  12330. 349a358,359
  12331. >       if (frameless_p)            /* If the save is all we care about, */
  12332. >     return pc;            /* return before doing more work */
  12333. 351a362,366
  12334. >   else
  12335. >     {
  12336. >       /* Without a save instruction, it's not a prologue.  */
  12337. >       return start_pc;
  12338. >     }
  12339. 368,372c383
  12340. <   if (found_save)
  12341. <     return pc;
  12342. <   else
  12343. <     /* Without a save instruction, it's not a prologue.  */
  12344. <     return start_pc;
  12345. ---
  12346. >   return pc;
  12347. 605a617,636
  12348. > /* On the Sun 4 under SunOS, the compile will leave a fake insn which
  12349. >    encodes the structure size being returned.  If we detect such
  12350. >    a fake insn, step past it.  */
  12351. > CORE_ADDR
  12352. > sparc_pc_adjust(pc)
  12353. >      CORE_ADDR pc;
  12354. > {
  12355. >   long insn;
  12356. >   int err;
  12357. >   err = target_read_memory (pc + 8, (char *)&insn, sizeof(long));
  12358. >   SWAP_TARGET_AND_HOST (&insn, sizeof(long));
  12359. >   if ((err == 0) && (insn & 0xfffffe00) == 0)
  12360. >     return pc+12;
  12361. >   else
  12362. >     return pc+8;
  12363. > }
  12364. 610c641
  12365. < const struct ext_format ext_format_sparc[] = {
  12366. ---
  12367. > const struct ext_format ext_format_sparc = {
  12368. 612c643
  12369. <  { 16, 0,    0x80, 0,1,       4,8    },        /* sparc */
  12370. ---
  12371. >    16, 0,    0x80, 0,1,       4,8,        /* sparc */
  12372. diff -r gdb-3.98/gdb/stack.c gdb-4.0/gdb/stack.c
  12373. 595,596c595
  12374. < /* Same, but print labels.
  12375. <    FIXME, this does not even reference FRAME... --gnu  */
  12376. ---
  12377. > /* Same, but print labels.  */
  12378. 599c598
  12379. < print_block_frame_labels (b, frame, have_default, stream)
  12380. ---
  12381. > print_block_frame_labels (b, have_default, stream)
  12382. 601d599
  12383. <      register FRAME frame;
  12384. 731c729
  12385. <           if (print_block_frame_labels (BLOCKVECTOR_BLOCK (bl, index), frame, &have_default, stream))
  12386. ---
  12387. >           if (print_block_frame_labels (BLOCKVECTOR_BLOCK (bl, index), &have_default, stream))
  12388. 913a912,916
  12389. > #if 0
  12390. > /* This is ancient and unnecessary?             -- gnu@cygnus.com 
  12391. >    It also loops forever if frame #0 is not current_frame (e.g. when we have
  12392. >    used the "frame" command after the stack was invalid).  */
  12393. 931a935,943
  12394. > #else
  12395. >       while (*level_offset_ptr < 0) {
  12396. >     frame1 = get_next_frame (frame);
  12397. >     if (!frame1)
  12398. >       break;
  12399. >     frame = frame1;
  12400. >     (*level_offset_ptr)++;
  12401. >       }
  12402. > #endif
  12403. 955,958c967,975
  12404. <   for (frame1 = get_prev_frame (0);
  12405. <        frame1 && frame1 != frame;
  12406. <        frame1 = get_prev_frame (frame1))
  12407. <     level++;
  12408. ---
  12409. >   /* Try to figure out what level this frame is.  But if there is
  12410. >      no current stack, don't error out -- let the user set one.  */
  12411. >   frame1 = 0;
  12412. >   if (get_current_frame()) {
  12413. >     for (frame1 = get_prev_frame (0);
  12414. >      frame1 && frame1 != frame;
  12415. >      frame1 = get_prev_frame (frame1))
  12416. >       level++;
  12417. >   }
  12418. diff -r gdb-3.98/gdb/symfile.c gdb-4.0/gdb/symfile.c
  12419. 92a93,101
  12420. > /* Flag for whether user will be reloading symbols multiple times.
  12421. >    Defaults to ON for VxWorks, otherwise OFF.  */
  12422. > #ifdef SYMBOL_RELOADING_DEFAULT
  12423. > int symbol_reloading = SYMBOL_RELOADING_DEFAULT;
  12424. > #else
  12425. > int symbol_reloading = 0;
  12426. > #endif
  12427. 358,359d366
  12428. <   register struct symtab *result;
  12429. 420c427
  12430. <       printf_filtered ("Reading symbol data from %s...", name);
  12431. ---
  12432. >       printf_filtered ("Reading symbols from %s...", name);
  12433. 605,619c612,613
  12434. < /* This function runs the add_syms command of our current target.  */
  12435. < void
  12436. < add_symbol_file_command (args, from_tty)
  12437. <      char *args;
  12438. <      int from_tty;
  12439. < {
  12440. <   /* Getting new symbols may change our opinion about what is
  12441. <      frameless.  */
  12442. <   reinit_frame_cache ();
  12443. <   target_add_syms (args, from_tty);
  12444. < }
  12445. < /* This function allows the addition of incrementally linked object files.  */
  12446. ---
  12447. > /* This function allows the addition of incrementally linked object files.
  12448. >    It does not modify any state in the target, only in the debugger.  */
  12449. 623,624c617,618
  12450. < add_syms_addr_command (arg_string, from_tty)
  12451. <      char* arg_string;
  12452. ---
  12453. > add_symbol_file_command (arg_string, from_tty)
  12454. >      char *arg_string;
  12455. 629a624,627
  12456. >   /* Getting new symbols may change our opinion about what is
  12457. >      frameless.  */
  12458. >   reinit_frame_cache ();
  12459. 707c705,706
  12460. <    we stop whining about it?  */
  12461. ---
  12462. >    we stop whining about it?  Default is no whining at all, since so many
  12463. >    systems have ill-constructed symbol files.  */
  12464. 709c708
  12465. < static unsigned stop_whining = 1;
  12466. ---
  12467. > static unsigned stop_whining = 0;
  12468. 861a861,864
  12469. >   /* We only wack things if the symbol-reload switch is set.  */
  12470. >   if (!symbol_reloading)
  12471. >     return 0;
  12472. 951a955,961
  12473. >           &setlist),
  12474. >      &showlist);
  12475. >   add_show_from_set
  12476. >     (add_set_cmd ("symbol-reloading", class_support, var_boolean,
  12477. >           (char *)&symbol_reloading,
  12478. >       "Set dynamic symbol table reloading multiple times in one run.",
  12479. diff -r gdb-3.98/gdb/target.c gdb-4.0/gdb/target.c
  12480. 34d33
  12481. < extern void add_syms_addr_command();
  12482. 58d56
  12483. <     add_syms_addr_command,    /* add_syms */
  12484. 62a61
  12485. >     0, 0,        /* section pointers */
  12486. 216,218d214
  12487. <   /* FIXME: What is savecur for?  Why isn't it used?  */
  12488. <   struct target_ops *savecur;
  12489. 224d219
  12490. <     savecur = current_target;
  12491. 299d293
  12492. <   de_fault (to_add_syms,        tcomplain);
  12493. 433c427,428
  12494. <   res = current_target->to_xfer_memory(memaddr, myaddr, len, write);
  12495. ---
  12496. >   res = current_target->to_xfer_memory
  12497. >             (memaddr, myaddr, len, write, current_target);
  12498. 448c443
  12499. <       res = t->to_xfer_memory(memaddr, myaddr, curlen, write);
  12500. ---
  12501. >       res = t->to_xfer_memory(memaddr, myaddr, curlen, write, t);
  12502. 496c491
  12503. <       (t->to_files_info)();
  12504. ---
  12505. >       (t->to_files_info)(t);
  12506. diff -r gdb-3.98/gdb/target.h gdb-4.0/gdb/target.h
  12507. 39a40,41
  12508. > #include "bfd.h"
  12509. 66,67c68,70
  12510. <     int  (*to_xfer_memory) (CORE_ADDR memaddr, char *myaddr, int len, int w);
  12511. <     void (*to_files_info) ();
  12512. ---
  12513. >     int  (*to_xfer_memory) (CORE_ADDR memaddr, char *myaddr, int len, int w,
  12514. >                 struct target_ops *);
  12515. >     void (*to_files_info) (struct target_ops *);
  12516. 77d79
  12517. <     void  (*to_add_syms) (char *arg, int from_tty);
  12518. 89a92,93
  12519. > struct section_table *sections;
  12520. > struct section_table *sections_end;
  12521. 115d118
  12522. <     void  (*to_add_syms) ();
  12523. 126a130,131
  12524. > struct section_table *sections;
  12525. > struct section_table *sections_end;
  12526. 244c249
  12527. <     (*current_target->to_files_info) ()
  12528. ---
  12529. >     (*current_target->to_files_info) (current_target)
  12530. 311,317d315
  12531. < /* Add the symbols from an executable file into GDB's symbol table, as if
  12532. <    the file had been loaded at a particular address (or set of addresses).
  12533. <    This does not change any state in the target system, only in GDB.  */
  12534. < #define target_add_syms(arg, from_tty) \
  12535. <     (*current_target->to_add_syms) (arg, from_tty)
  12536. 414a413,428
  12537. > /* Struct section_table maps address ranges to file sections.  It is
  12538. >    mostly used with BFD files, but can be used without (e.g. for handling
  12539. >    raw disks, or files not in formats handled by BFD).  */
  12540. > struct section_table {
  12541. >   CORE_ADDR addr;        /* Lowest address in section */
  12542. >   CORE_ADDR endaddr;        /* 1+highest address in section */
  12543. >   sec_ptr   sec_ptr;        /* BFD section pointer */
  12544. >   bfd       *bfd;        /* BFD file pointer */
  12545. > };
  12546. > /* Builds a section table, given args BFD, SECTABLE_PTR, SECEND_PTR.
  12547. >    Returns 0 if OK, 1 on error.  */
  12548. > int build_section_table ();    
  12549. diff -r gdb-3.98/gdb/tconfig/hp300bsd gdb-4.0/gdb/tconfig/hp300bsd
  12550. 2c2
  12551. < TDEPFILES= exec.o m68k-pinsn.o
  12552. ---
  12553. > TDEPFILES= exec.o m68k-pinsn.o m68k-tdep.o
  12554. diff -r gdb-3.98/gdb/tconfig/sun2os4 gdb-4.0/gdb/tconfig/sun2os4
  12555. 2,6d1
  12556. < # The system-supplied assembler re-orders the symbols so that gdb
  12557. < # can't find "gcc_compiled.".
  12558. < #msg If you compile your program with GCC, use the GNU assembler.
  12559. < #msg
  12560. diff -r gdb-3.98/gdb/tconfig/sun3os4 gdb-4.0/gdb/tconfig/sun3os4
  12561. 2,6d1
  12562. < # The system-supplied assembler re-orders the symbols so that gdb
  12563. < # can't find "gcc_compiled.".
  12564. < #msg If you compile your program with GCC, use the GNU assembler.
  12565. < #msg
  12566. diff -r gdb-3.98/gdb/tconfig/sun4 gdb-4.0/gdb/tconfig/sun4
  12567. 2,6d1
  12568. < # The system-supplied assembler re-orders the symbols so that gdb
  12569. < # can't find "gcc_compiled.".
  12570. < #msg If you compile your program with GCC, use the GNU assembler.
  12571. < #msg
  12572. diff -r gdb-3.98/gdb/tconfig/sun4os4 gdb-4.0/gdb/tconfig/sun4os4
  12573. 2,6d1
  12574. < # The system-supplied assembler re-orders the symbols so that gdb
  12575. < # can't find "gcc_compiled.".
  12576. < #msg If you compile your program with GCC, use the GNU assembler.
  12577. < #msg
  12578. diff -r gdb-3.98/gdb/tm-68k.h gdb-4.0/gdb/tm-68k.h
  12579. 152c152
  12580. < extern struct ext_format ext_format_68881 [];
  12581. ---
  12582. > extern struct ext_format ext_format_68881;
  12583. 160c160
  12584. <     ieee_extended_to_double (ext_format_68881, (FROM), (TO));    \
  12585. ---
  12586. >     ieee_extended_to_double (&ext_format_68881, (FROM), (double *)(TO)); \
  12587. 171c171
  12588. <     double_to_ieee_extended (ext_format_68881, (FROM), (TO));    \
  12589. ---
  12590. >     double_to_ieee_extended (&ext_format_68881, (double *)(FROM), (TO)); \
  12591. diff -r gdb-3.98/gdb/tm-hp300bsd.h gdb-4.0/gdb/tm-hp300bsd.h
  12592. 1,2c1,2
  12593. < /* Parameters for execution on a Hewlett-Packard 9000/300, running bsd.
  12594. <    Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
  12595. ---
  12596. > /* Parameters for target machine Hewlett-Packard 9000/300, running bsd.
  12597. >    Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
  12598. diff -r gdb-3.98/gdb/tm-i960.h gdb-4.0/gdb/tm-i960.h
  12599. 178c178
  12600. <   extern struct ext_format ext_format_i960[];        \
  12601. ---
  12602. >   extern struct ext_format ext_format_i960;        \
  12603. 181c181
  12604. <     ieee_extended_to_double (ext_format_i960, (FROM), (TO));     \
  12605. ---
  12606. >     ieee_extended_to_double (&ext_format_i960, (FROM), (double *)(TO));     \
  12607. 191c191
  12608. <   extern struct ext_format ext_format_i960[];        \
  12609. ---
  12610. >   extern struct ext_format ext_format_i960;        \
  12611. 194c194
  12612. <     double_to_ieee_extended (ext_format_i960, (FROM), (TO));     \
  12613. ---
  12614. >     double_to_ieee_extended (&ext_format_i960, (double *)(FROM), (TO));     \
  12615. diff -r gdb-3.98/gdb/tm-mips.h gdb-4.0/gdb/tm-mips.h
  12616. 137c137
  12617. < #define DO_REGISTERS_INFO(_regnum) mips_do_registers_info(_regnum)
  12618. ---
  12619. > #define DO_REGISTERS_INFO(_regnum, fp) mips_do_registers_info(_regnum, fp)
  12620. diff -r gdb-3.98/gdb/tm-pyr.h gdb-4.0/gdb/tm-pyr.h
  12621. 184c184
  12622. < #define DO_REGISTERS_INFO(_regnum) pyr_do_registers_info(_regnum)
  12623. ---
  12624. > #define DO_REGISTERS_INFO(_regnum, fp) pyr_do_registers_info(_regnum, fp)
  12625. diff -r gdb-3.98/gdb/tm-sparc.h gdb-4.0/gdb/tm-sparc.h
  12626. 67c67,70
  12627. <    to reach some "real" code.  */
  12628. ---
  12629. >    to reach some "real" code.  SKIP_PROLOGUE_FRAMELESS_P advances
  12630. >    the PC past some of the prologue, but stops as soon as it
  12631. >    knows that the function has a frame.  Its result is equal
  12632. >    to its input PC if the function is frameless, unequal otherwise.  */
  12633. 70c73,75
  12634. <   { pc = skip_prologue (pc); }
  12635. ---
  12636. >   { pc = skip_prologue (pc, 0); }
  12637. > #define SKIP_PROLOGUE_FRAMELESS_P(pc) \
  12638. >   { pc = skip_prologue (pc, 1); }
  12639. 82,83c87,88
  12640. < #define PC_ADJUST(pc) ((read_memory_integer (pc + 8, 4) & 0xfffffe00) == 0 ? \
  12641. <                pc+12 : pc+8)
  12642. ---
  12643. > #define PC_ADJUST(pc) sparc_pc_adjust(pc)
  12644. > extern CORE_ADDR sparc_pc_adjust();
  12645. 573c578
  12646. <    function "setup_arbitrary_frame" in mach-dep.c */
  12647. ---
  12648. >    function "setup_arbitrary_frame" in sparc-tdep.c */
  12649. diff -r gdb-3.98/gdb/tm-sunos.h gdb-4.0/gdb/tm-sunos.h
  12650. 22,23c22
  12651. < #define SOLIB_ADD(filename, from_tty) solib_add (filename, from_tty)
  12652. < #define SOLIB_XFER_MEMORY(memaddr, myaddr, len, write) solib_xfer_memory (memaddr, myaddr, len, write)
  12653. ---
  12654. > #define SOLIB_ADD(filename, from_tty, targ) solib_add (filename, from_tty, targ)
  12655. 29d27
  12656. < extern int solib_xfer_memory ();
  12657. diff -r gdb-3.98/gdb/utils.c gdb-4.0/gdb/utils.c
  12658. 136a137
  12659. >       cleanup_chain = ptr->next;    /* Do this first incase recursion */
  12660. 138d138
  12661. <       cleanup_chain = ptr->next;
  12662. 720a721,722
  12663. >   char *ignore;
  12664. 722c724,726
  12665. <   gdb_readline ("---Type <return> to continue---", 0);
  12666. ---
  12667. >   ignore = gdb_readline ("---Type <return> to continue---");
  12668. >   if (ignore)
  12669. >     free (ignore);
  12670. 724a729
  12671. >   dont_repeat ();        /* Forget prev cmd -- CR won't repeat it. */
  12672. 1208a1214
  12673. > #ifndef HAVE_STRSTR
  12674. 1210c1216
  12675. < char *
  12676. ---
  12677. > const char *
  12678. 1218c1224
  12679. <       return (char *)p;
  12680. ---
  12681. >       return p;
  12682. 1221a1228
  12683. > #endif /* do not HAVE_STRSTR */
  12684. diff -r gdb-3.98/gdb/valprint.c gdb-4.0/gdb/valprint.c
  12685. 673c673
  12686. <      0.  Is "> 0" meant? I'm not sure what an "array of
  12687. ---
  12688. >      >= 0.  Is "> 0" meant? I'm not sure what an "array of
  12689. diff -r gdb-3.98/gdb/values.c gdb-4.0/gdb/values.c
  12690. 1018d1017
  12691. <   entry_type = VALUE_TYPE (entry);
  12692. 1182c1181
  12693. <                        TYPE_LENGTH (type));
  12694. ---
  12695. >                        TYPE_LENGTH (basetype));
  12696. 1375,1376c1374,1375
  12697. <   if ((0 != fieldval & ~((1<<bitsize)-1))
  12698. <    && bitsize < 8 * sizeof (fieldval))
  12699. ---
  12700. >   if (bitsize < (8 * sizeof (fieldval))
  12701. >       && 0 != (fieldval & ~((1<<bitsize)-1)))
  12702. diff -r gdb-3.98/gdb/xm-hp300bsd.h gdb-4.0/gdb/xm-hp300bsd.h
  12703. 1,2c1,2
  12704. < /* Parameters for execution on a Hewlett-Packard 9000/300, running bsd.
  12705. <    Copyright (C) 1986, 1987, 1989 Free Software Foundation, Inc.
  12706. ---
  12707. > /* Parameters for hosting on a Hewlett-Packard 9000/300, running bsd.
  12708. >    Copyright (C) 1986, 1987, 1989, 1991 Free Software Foundation, Inc.
  12709. 26c26,31
  12710. < #include <machine/endian.h>
  12711. ---
  12712. > #define    HOST_BYTE_ORDER    BIG_ENDIAN
  12713. > /* Avoid "INT_MIN redefined" warnings -- by defining it here, exactly
  12714. >    the same as in the system <machine/machtypes.h> file.  */
  12715. > #undef    INT_MIN
  12716. > #define    INT_MIN        0x80000000
  12717. diff -r gdb-3.98/gdb/xm-sun3os4.h gdb-4.0/gdb/xm-sun3os4.h
  12718. 23,27c23,27
  12719. < /* There is a bug which can cause alloca to fail to allocate large
  12720. <    areas of memory one time in every 4096 (we think).  */
  12721. < /* chase@orc.olivetti.com says that 4 megabyte alloca's consistently fail,
  12722. <    even though the stack limit (SET_STACK_LIMIT_HUGE) has been set
  12723. <    to 250 megabytes.  */
  12724. ---
  12725. > /* Large alloca's fail because the attempt to increase the stack limit in
  12726. >    main() fails because shared libraries are allocated just below the initial
  12727. >    stack limit.  The SunOS kernel will not allow the stack to grow into
  12728. >    the area occupied by the shared libraries.  Sun knows about this bug
  12729. >    but has no obvious fix for it.  */
  12730. 28a29,30
  12731. > #define HAVE_STRSTR
  12732. diff -r gdb-3.98/gdb/xm-sun4os4.h gdb-4.0/gdb/xm-sun4os4.h
  12733. 21d20
  12734. 22a22,30
  12735. > /* Large alloca's fail because the attempt to increase the stack limit in
  12736. >    main() fails because shared libraries are allocated just below the initial
  12737. >    stack limit.  The SunOS kernel will not allow the stack to grow into
  12738. >    the area occupied by the shared libraries.  Sun knows about this bug
  12739. >    but has no obvious fix for it.  */
  12740. > #define BROKEN_LARGE_ALLOCA
  12741. > #define HAVE_STRSTR
  12742. Only in gdb-4.0/include: ChangeLog
  12743. diff -r gdb-3.98/include/a.out.gnu.h gdb-4.0/include/a.out.gnu.h
  12744. 57a58,61
  12745. >   /* HP/BSD formats */
  12746. >   M_HP200 = 200,    /* hp200 (68010) BSD binary */
  12747. >   M_HP300 = 300,    /* hp300 (68020+68881) BSD binary */
  12748. >   M_HPUX23 = 0x020C,    /* hp200/300 HPUX binary */
  12749. 98a103,108
  12750. > /* By default, segment size is constant.  But on some machines, it can
  12751. >    be a function of the a.out header (e.g. machine type).  */
  12752. > #ifndef    N_SEGSIZE
  12753. > #define    N_SEGSIZE(x)    SEGMENT_SIZE
  12754. > #endif
  12755. 101c111
  12756. < #define _N_HDROFF(x)    (SEGMENT_SIZE - sizeof (struct exec))
  12757. ---
  12758. > #define _N_HDROFF(x)    (N_SEGSIZE(x) - sizeof (struct exec))
  12759. 139c149
  12760. <      :  (SEGMENT_SIZE + ((N_TXTADDR(x)+(x).a_text-1) & ~(SEGMENT_SIZE-1))))
  12761. ---
  12762. >      :  (N_SEGSIZE(x) + ((N_TXTADDR(x)+(x).a_text-1) & ~(N_SEGSIZE(x)-1))))
  12763. 162c172
  12764. < #define N_FN 15
  12765. ---
  12766. > #define N_FN 0x1e
  12767. 175a186
  12768. diff -r gdb-3.98/include/a.out.sun4.h gdb-4.0/include/a.out.sun4.h
  12769. 5c5,8
  12770. < #define SEGMENT_SIZE    PAGE_SIZE
  12771. ---
  12772. > #define SEG_SIZE_SPARC    PAGE_SIZE
  12773. > #define    SEG_SIZE_SUN3    0x20000        /* Resolution of r/w protection hw */
  12774. 8a12,17
  12775. > /* Segment size varies on Sun-3 versus Sun-4.  */
  12776. > #define N_SEGSIZE(x)    (N_MACHTYPE(x) == M_SPARC?    SEG_SIZE_SPARC:    \
  12777. >              N_MACHTYPE(x) == M_68020?    SEG_SIZE_SUN3:    \
  12778. >             /* Guess? */            PAGE_SIZE)
  12779. diff -r gdb-3.98/include/a29k-opcode.h gdb-4.0/include/a29k-opcode.h
  12780. 20c20
  12781. < /* $Id: a29k-opcode.h,v 1.2 1991/07/15 23:34:04 steve Exp $ */
  12782. ---
  12783. > /* $Id: a29k-opcode.h,v 1.4 1991/08/06 07:20:27 rich Exp $ */
  12784. 65a66,69
  12785. > #ifndef CONST
  12786. > #define CONST
  12787. > #endif /* CONST */
  12788. 285a290,295
  12789. >  * Revision 1.4  1991/08/06  07:20:27  rich
  12790. >  * Fixing CONST declarations.
  12791. >  *
  12792. >  * Revision 1.3  1991/08/05  22:31:05  rich
  12793. >  * *** empty log message ***
  12794. >  *
  12795. diff -r gdb-3.98/include/aout64.h gdb-4.0/include/aout64.h
  12796. 75c75,81
  12797. < #define _N_HDROFF(x)    (SEGMENT_SIZE - EXEC_BYTES_SIZE)
  12798. ---
  12799. > /* By default, segment size is constant.  But on some machines, it can
  12800. >    be a function of the a.out header (e.g. machine type).  */
  12801. > #ifndef    N_SEGSIZE
  12802. > #define    N_SEGSIZE(x)    SEGMENT_SIZE
  12803. > #endif
  12804. > #define _N_HDROFF(x)    (N_SEGSIZE(x) - EXEC_BYTES_SIZE)
  12805. 114c120
  12806. <      :  (SEGMENT_SIZE + ((N_TXTADDR(x)+(x).a_text-1) & ~(SEGMENT_SIZE-1))))
  12807. ---
  12808. >      :  (N_SEGSIZE(x) + ((N_TXTADDR(x)+(x).a_text-1) & ~(N_SEGSIZE(x)-1))))
  12809. 175a182,183
  12810. > #define N_INDR 0x0a
  12811. diff -r gdb-3.98/include/bfd.h gdb-4.0/include/bfd.h
  12812. 313,314c313,316
  12813. < /* Opens the file supplied (using fopen) with the target supplied, it
  12814. < returns a pointer to the created bfd.
  12815. ---
  12816. > /*:opncls.c*/
  12817. > /* *i bfd_openr
  12818. > Opens the file supplied (using @code{fopen}) with the target supplied, it
  12819. > returns a pointer to the created BFD.
  12820. 319,320c321,326
  12821. < PROTO(bfd*, bfd_openr, (CONST char *filename,CONST char*target));
  12822. < /* bfd_fdopenr is to bfd_fopenr much like  fdopen is to fopen. It opens a bfd on
  12823. ---
  12824. >  PROTO(bfd*, bfd_openr, (CONST char *filename,CONST char*target));
  12825. > /*
  12826. > *i bfd_fdopenr
  12827. > bfd_fdopenr is to bfd_fopenr much like  fdopen is to fopen. It opens a BFD on
  12828. 325c331
  12829. <  PROTO(bfd *, bfd_fdopenr,
  12830. ---
  12831. >   PROTO(bfd *, bfd_fdopenr,
  12832. 327c333,337
  12833. < /* Creates a bfd, associated with file @var{filename}, using the file
  12834. ---
  12835. > /*
  12836. >  bfd_openw
  12837. > Creates a BFD, associated with file @var{filename}, using the file
  12838. 332,333c342,347
  12839. < PROTO(bfd *, bfd_openw, (CONST char *filename, CONST char *target));
  12840. < /* This function closes a bfd. If the bfd was open for writing, then
  12841. ---
  12842. >  PROTO(bfd *, bfd_openw, (CONST char *filename, CONST char *target));
  12843. > /*
  12844. >  bfd_close
  12845. > This function closes a BFD. If the BFD was open for writing, then
  12846. 338c352
  12847. < All memory attatched to the bfd's obstacks is released. 
  12848. ---
  12849. > All memory attached to the BFD's obstacks is released. 
  12850. 342,345c356
  12851. < PROTO(boolean, bfd_close,(bfd *));
  12852. < /* This routine creates a new bfd in the manner of bfd_openw, but without
  12853. < opening a file. The new bfd takes the target from the target used by
  12854. < @var{template}. The format is always set to @code{bfd_object}.
  12855. ---
  12856. >  PROTO(boolean, bfd_close,(bfd *));
  12857. 346a358,363
  12858. > /*
  12859. >  bfd_create
  12860. > This routine creates a new BFD in the manner of @code{bfd_openw}, but without
  12861. > opening a file. The new BFD takes the target from the target used by
  12862. > @var{template}. The format is always set to @code{bfd_object}.
  12863. 348,350c365,376
  12864. < PROTO(bfd *, bfd_create, (CONST char *filename, bfd *template));
  12865. < /* Return the number of bytes in the obstacks connected to the supplied
  12866. < bfd.
  12867. ---
  12868. >  PROTO(bfd *, bfd_create, (CONST char *filename, bfd *template));
  12869. > /*
  12870. >  bfd_alloc_size
  12871. > Return the number of bytes in the obstacks connected to the supplied
  12872. > BFD.
  12873. > */
  12874. >  PROTO(bfd_size_type,bfd_alloc_size,(bfd *abfd));
  12875. > /*
  12876. 352,353c378,381
  12877. < PROTO(bfd_size_type,bfd_alloc_size,(bfd *abfd));
  12878. < /* This enum gives the object file's CPU
  12879. ---
  12880. > /*:archures.c*/
  12881. > /* bfd_architecture
  12882. > This enum gives the object file's CPU
  12883. 360d387
  12884. 361a389
  12885. 400,401c428,429
  12886. < /* stuff
  12887. < */
  12888. ---
  12889. > /*
  12890. > stuff
  12891. 403c431,432
  12892. < /* Return a printable string representing the architecture and machine
  12893. ---
  12894. >  bfd_prinable_arch_mach
  12895. > Return a printable string representing the architecture and machine
  12896. 405c434
  12897. < bfd_printable_arch_mach.  
  12898. ---
  12899. > @code{bfd_printable_arch_mach}.  
  12900. 407c436
  12901. < PROTO(CONST char *,bfd_printable_arch_mach,
  12902. ---
  12903. >  PROTO(CONST char *,bfd_printable_arch_mach,
  12904. 409c438,442
  12905. < /* Scan a string and attempt to turn it into an archive and machine type combination.  
  12906. ---
  12907. > /*
  12908. > *i bfd_scan_arch_mach
  12909. > Scan a string and attempt to turn it into an archive and machine type combination.  
  12910. 411c444
  12911. < PROTO(boolean, bfd_scan_arch_mach,
  12912. ---
  12913. >  PROTO(boolean, bfd_scan_arch_mach,
  12914. 413c446,450
  12915. < /* This routine is used to determine whether two BFDs' architectures and machine types are
  12916. ---
  12917. > /*
  12918. > *i bfd_arch_compatible
  12919. > This routine is used to determine whether two BFDs' architectures and machine types are
  12920. 415c452
  12921. < two architectures and machine types implied by the bfds and sets the
  12922. ---
  12923. > two architectures and machine types implied by the BFDs and sets the
  12924. 418c455
  12925. < This routine returns @code{true} if the bfds are of compatible type,
  12926. ---
  12927. > This routine returns @code{true} if the BFDs are of compatible type,
  12928. 421c458
  12929. < PROTO(boolean, bfd_arch_compatible,
  12930. ---
  12931. >  PROTO(boolean, bfd_arch_compatible,
  12932. 426c463,467
  12933. < /* Set atch mach
  12934. ---
  12935. > /*
  12936. >  bfd_set_arch_mach
  12937. > Set atch mach
  12938. 432c473,476
  12939. < /* These macros as used for reading and writing raw data in sections;
  12940. ---
  12941. > /*:libbfd.c*/
  12942. > /* *i bfd_put_size
  12943. > *i bfd_get_size
  12944. > These macros as used for reading and writing raw data in sections;
  12945. 434c478
  12946. < of the bfd and mangled accordingly. The mangling performs any
  12947. ---
  12948. > of the BFD and mangled accordingly. The mangling performs any
  12949. 453,454c497,499
  12950. < /* These macros have the same function as their @code{bfd_get_x}
  12951. ---
  12952. > /* *i bfd_h_put_size
  12953. > *i bfd_h_get_size
  12954. > These macros have the same function as their @code{bfd_get_x}
  12955. 476a522
  12956. > /*:section.c*/
  12957. 478d523
  12958. 479a525
  12959. 482,484c528,532
  12960. <     /* The name of the section, the name isn't a copy, the pointer is
  12961. <     the same as that passed to bfd_make_section.
  12962. <     */
  12963. ---
  12964. > /*
  12965. > The name of the section, the name isn't a copy, the pointer is
  12966. > the same as that passed to bfd_make_section.
  12967. > */
  12968. 487,488c535,538
  12969. <     /* The next section in the list belonging to the bfd, or NULL.
  12970. <     */
  12971. ---
  12972. > /*
  12973. > The next section in the list belonging to the BFD, or NULL.
  12974. > */
  12975. 491,494c541,546
  12976. <     /* The field flags contains attributes of the section. Some of these
  12977. <     flags are read in from the object file, and some are synthesized from
  12978. <     other information. 
  12979. <     */
  12980. ---
  12981. > /*
  12982. > The field flags contains attributes of the section. Some of these
  12983. > flags are read in from the object file, and some are synthesized from
  12984. > other information. 
  12985. > */
  12986. 495a548,551
  12987. > /*
  12988. > */
  12989. 498,500c554,558
  12990. <     /* Tells the OS to allocate space for this section when loaded.
  12991. <     This would clear for a section containing debug information only.
  12992. <     */
  12993. ---
  12994. > /*
  12995. > Tells the OS to allocate space for this section when loaded.
  12996. > This would clear for a section containing debug information only.
  12997. > */
  12998. 503,505c561,565
  12999. <     /* Tells the OS to load the section from the file when loading.
  13000. <     This would be clear for a .bss section 
  13001. <     */
  13002. ---
  13003. > /*
  13004. > Tells the OS to load the section from the file when loading.
  13005. > This would be clear for a .bss section 
  13006. > */
  13007. 508,510c568,572
  13008. <     /* The section contains data still to be relocated, so there will be some
  13009. <     relocation information too.
  13010. <     */
  13011. ---
  13012. > /*
  13013. > The section contains data still to be relocated, so there will be some
  13014. > relocation information too.
  13015. > */
  13016. 513,514c575,578
  13017. <     /* Obsolete ? 
  13018. <     */
  13019. ---
  13020. > /*
  13021. > Obsolete ? 
  13022. > */
  13023. 517,518c581,584
  13024. <     /* A signal to the OS that the section contains read only data.
  13025. <     */
  13026. ---
  13027. > /*
  13028. > A signal to the OS that the section contains read only data.
  13029. > */
  13030. 521,522c587,590
  13031. <     /* The section contains code only.
  13032. <     */
  13033. ---
  13034. > /*
  13035. > The section contains code only.
  13036. > */
  13037. 525,526c593,596
  13038. <     /* The section contains data only.
  13039. <     */
  13040. ---
  13041. > /*
  13042. > The section contains data only.
  13043. > */
  13044. 529,530c599,602
  13045. <     /* The section will reside in ROM.
  13046. <     */
  13047. ---
  13048. > /*
  13049. > The section will reside in ROM.
  13050. > */
  13051. 533,542c605,616
  13052. <     /* The section contains constructor information. This section type is
  13053. <     used by the linker to create lists of constructors and destructors
  13054. <     used by @code{g++}. When a back end sees a symbol which should be used
  13055. <     in a constructor list, it creates a new section for the type of name
  13056. <     (eg @code{__CTOR_LIST__}), attatches the symbol to it and builds a
  13057. <     relocation. To build the lists of constructors, all the linker has to
  13058. <     to is catenate all the sections called @code{__CTOR_LIST__} and
  13059. <     relocte the data contained within - exactly the operations it would
  13060. <     peform on standard data.
  13061. <     */
  13062. ---
  13063. > /*
  13064. > The section contains constructor information. This section type is
  13065. > used by the linker to create lists of constructors and destructors
  13066. > used by @code{g++}. When a back end sees a symbol which should be used
  13067. > in a constructor list, it creates a new section for the type of name
  13068. > (eg @code{__CTOR_LIST__}), attaches the symbol to it and builds a
  13069. > relocation. To build the lists of constructors, all the linker has to
  13070. > to is catenate all the sections called @code{__CTOR_LIST__} and
  13071. > relocte the data contained within - exactly the operations it would
  13072. > peform on standard data.
  13073. > */
  13074. 545,548c619,639
  13075. <     /* The section has contents - a bss section could be
  13076. <     @code{SEC_ALLOC} | @code{SEC_HAS_CONTENTS}, a debug section could be
  13077. <     @code{SEC_HAS_CONTENTS}
  13078. <     */
  13079. ---
  13080. > /*
  13081. > The section is a constuctor, and should be placed at the end of the ..
  13082. > */
  13083. > #define SEC_CONSTRUCTOR_TEXT 0x1100
  13084. > /*
  13085. > */
  13086. > #define SEC_CONSTRUCTOR_DATA 0x2100
  13087. > /*
  13088. > */
  13089. > #define SEC_CONSTRUCTOR_BSS  0x3100
  13090. > /*
  13091. > The section has contents - a bss section could be
  13092. > @code{SEC_ALLOC} | @code{SEC_HAS_CONTENTS}, a debug section could be
  13093. > @code{SEC_HAS_CONTENTS}
  13094. > */
  13095. 551,553c642,646
  13096. <     /* An instruction to the linker not to output sections containing
  13097. <     this flag even if they have information which would normally be written.
  13098. <     */
  13099. ---
  13100. > /*
  13101. > An instruction to the linker not to output sections containing
  13102. > this flag even if they have information which would normally be written.
  13103. > */
  13104. 556,557c649,653
  13105. <     /* The base address of the section in the address space of the target.
  13106. <     */
  13107. ---
  13108. > /*
  13109. > The base address of the section in the address space of the target.
  13110. > */
  13111. 560,562c656,660
  13112. <     /* The size of the section in bytes of the loaded section. This contains
  13113. <     a value even if the section has no contents (eg, the size of @code{.bss}).
  13114. <     */
  13115. ---
  13116. > /*
  13117. > The size of the section in bytes of the loaded section. This contains
  13118. > a value even if the section has no contents (eg, the size of @code{.bss}).
  13119. > */
  13120. 565,569c663,669
  13121. <     /* If this section is going to be output, then this value is the
  13122. <     offset into the output section of the first byte in the input
  13123. <     section. Eg, if this was going to start at the 100th byte in the
  13124. <     output section, this value would be 100. 
  13125. <     */
  13126. ---
  13127. > /*
  13128. > If this section is going to be output, then this value is the
  13129. > offset into the output section of the first byte in the input
  13130. > section. Eg, if this was going to start at the 100th byte in the
  13131. > output section, this value would be 100. 
  13132. > */
  13133. 572,573c672,675
  13134. <     /* The output section through which to map on output.
  13135. <     */
  13136. ---
  13137. > /*
  13138. > The output section through which to map on output.
  13139. > */
  13140. 576,578c678,682
  13141. <     /* The alignment requirement of the section, as an exponent - eg 3
  13142. <     aligns to 2^3 (or 8) 
  13143. <     */
  13144. ---
  13145. > /*
  13146. > The alignment requirement of the section, as an exponent - eg 3
  13147. > aligns to 2^3 (or 8) 
  13148. > */
  13149. 581,583c685,689
  13150. <     /* If an input section, a pointer to a vector of relocation records for
  13151. <     the data in this section.
  13152. <     */
  13153. ---
  13154. > /*
  13155. > If an input section, a pointer to a vector of relocation records for
  13156. > the data in this section.
  13157. > */
  13158. 586,588c692,696
  13159. <     /* If an output section, a pointer to a vector of pointers to
  13160. <     relocation records for the data in this section.
  13161. <     */
  13162. ---
  13163. > /*
  13164. > If an output section, a pointer to a vector of pointers to
  13165. > relocation records for the data in this section.
  13166. > */
  13167. 591,592c699,702
  13168. <     /* The number of relocation records in one of the above 
  13169. <     */
  13170. ---
  13171. > /*
  13172. > The number of relocation records in one of the above 
  13173. > */
  13174. 595,596c705,708
  13175. <     /* Which section is it 0..nth     
  13176. <     */
  13177. ---
  13178. > /*
  13179. > Which section is it 0..nth     
  13180. > */
  13181. 599,603c711,717
  13182. <     /* Information below is back end specific - and not always used or
  13183. <     updated 
  13184. <     
  13185. <     File position of section data   
  13186. <     */
  13187. ---
  13188. > /*
  13189. > Information below is back end specific - and not always used or
  13190. > updated 
  13191. > File position of section data   
  13192. > */
  13193. 604a719,720
  13194. > /* File position of relocation info        
  13195. > */
  13196. 606,607d721
  13197. <     /* File position of relocation info        
  13198. <     */
  13199. 610,611c724,727
  13200. <     /* File position of line data              
  13201. <     */
  13202. ---
  13203. > /*
  13204. > File position of line data              
  13205. > */
  13206. 614,615c730,733
  13207. <     /* Pointer to data for applications        
  13208. <     */
  13209. ---
  13210. > /*
  13211. > Pointer to data for applications        
  13212. > */
  13213. 616a735,737
  13214. > /*
  13215. > */
  13216. 619,620c740,743
  13217. <     /* Attached line number information        
  13218. <     */
  13219. ---
  13220. > /*
  13221. > Attached line number information        
  13222. > */
  13223. 621a745,746
  13224. > /* Number of line number records   
  13225. > */
  13226. 623,624d747
  13227. <     /* Number of line number records   
  13228. <     */
  13229. 627,629c750,754
  13230. <     /* When a section is being output, this value changes as more
  13231. <     linenumbers are written out 
  13232. <     */
  13233. ---
  13234. > /*
  13235. > When a section is being output, this value changes as more
  13236. > linenumbers are written out 
  13237. > */
  13238. 632,633c757,760
  13239. <     /* what the section number is in the target world 
  13240. <     */
  13241. ---
  13242. > /*
  13243. > what the section number is in the target world 
  13244. > */
  13245. 634a762,764
  13246. > /*
  13247. > */
  13248. 637,639c767,771
  13249. <     /* If this is a constructor section then here is a list of the
  13250. <     relocations created to relocate items within it.
  13251. <     */
  13252. ---
  13253. > /*
  13254. > If this is a constructor section then here is a list of the
  13255. > relocations created to relocate items within it.
  13256. > */
  13257. 642,643c774,777
  13258. <     /* The bfd which owns the section.
  13259. <     */
  13260. ---
  13261. > /*
  13262. > The BFD which owns the section.
  13263. > */
  13264. 644a779,781
  13265. > /*
  13266. > */
  13267. 647,648c784
  13268. < /* Runs through the provided @var{abfd} and returns the @code{asection}
  13269. < who's name matches that provided, otherwise NULL. @xref{Sections}, for more information.
  13270. ---
  13271. > /*
  13272. 649a786,788
  13273. >  bfd_get_section_by_name
  13274. > Runs through the provided @var{abfd} and returns the @code{asection}
  13275. > who's name matches that provided, otherwise NULL. @xref{Sections}, for more information.
  13276. 651c790,791
  13277. < PROTO(asection *, bfd_get_section_by_name,
  13278. ---
  13279. >  PROTO(asection *, bfd_get_section_by_name,
  13280. 653,654c793,798
  13281. < /* This function creates a new empty section called @var{name} and attatches it
  13282. < to the end of the chain of sections for @var{bfd}. An attempt to
  13283. ---
  13284. > /*
  13285. >  bfd_make_section
  13286. > This function creates a new empty section called @var{name} and attaches it
  13287. > to the end of the chain of sections for the BFD supplied. An attempt to
  13288. 661c805
  13289. < If output has already started for this bfd.
  13290. ---
  13291. > If output has already started for this BFD.
  13292. 665d808
  13293. 667,668c810,816
  13294. < PROTO(asection *, bfd_make_section, (bfd *, CONST char *name));
  13295. < /* Attempts to set the attributes of the section named in the bfd
  13296. ---
  13297. >  PROTO(asection *, bfd_make_section, (bfd *, CONST char *name));
  13298. > /*
  13299. >  bfd_set_section_flags
  13300. > Attempts to set the attributes of the section named in the BFD
  13301. 677d824
  13302. 679c826,827
  13303. < PROTO(boolean, bfd_set_section_flags,
  13304. ---
  13305. >  PROTO(boolean, bfd_set_section_flags,
  13306. 681,682c829,834
  13307. < /* Calls the provided function @var{func} for each section attatched to
  13308. < the bfd @var{abfd}, passing @var{obj} as an argument. The function
  13309. ---
  13310. > /*
  13311. >  bfd_map_over_sections
  13312. > Calls the provided function @var{func} for each section attached to
  13313. > the BFD @var{abfd}, passing @var{obj} as an argument. The function
  13314. 688,689d839
  13315. 691c841,842
  13316. < PROTO(void, bfd_map_over_sections,
  13317. ---
  13318. >  PROTO(void, bfd_map_over_sections,
  13319. 693c844,847
  13320. < /* This is the prefered method for iterating over sections, an
  13321. ---
  13322. > /*
  13323. > This is the prefered method for iterating over sections, an
  13324. 700c854
  13325. < @end example*/
  13326. ---
  13327. > @end example
  13328. 702c856,857
  13329. < /* Sets @var{section} to the size @var{val}. If the operation is ok, then
  13330. ---
  13331. >  bfd_set_section_size
  13332. > Sets @var{section} to the size @var{val}. If the operation is ok, then
  13333. 708c863
  13334. < Writing has started to the bfd, so setting the size is invalid
  13335. ---
  13336. > Writing has started to the BFD, so setting the size is invalid
  13337. 710d864
  13338. 712c866,867
  13339. < PROTO(boolean, bfd_set_section_size,
  13340. ---
  13341. >  PROTO(boolean, bfd_set_section_size,
  13342. 714c869,873
  13343. < /* Sets the contents of the section @var{section} in bfd @var{abfd} to
  13344. ---
  13345. > /*
  13346. >  bfd_set_section_contents
  13347. > Sets the contents of the section @var{section} in BFD @var{abfd} to
  13348. 727d885
  13349. 729c887,888
  13350. < PROTO(boolean, bfd_set_section_contents,
  13351. ---
  13352. >  PROTO(boolean, bfd_set_section_contents,
  13353. 735c894,898
  13354. < /* This function reads data from @var{section} in bfd @var{abfd} into
  13355. ---
  13356. > /*
  13357. >  bfd_get_section_contents
  13358. > This function reads data from @var{section} in BFD @var{abfd} into
  13359. 749d911
  13360. 751c913,914
  13361. < PROTO(boolean, bfd_get_section_contents, 
  13362. ---
  13363. >  PROTO(boolean, bfd_get_section_contents, 
  13364. 753a917,922
  13365. > /*
  13366. > */
  13367. > /*:syms.c*/
  13368. 756d924
  13369. 757a926
  13370. 759a929,932
  13371. > /* A pointer to the BFD which owns the symbol. This information is
  13372. > necessary so that a back end can work out what additional (invisible to
  13373. > the application writer) information is carried with the symbol. 
  13374. > */
  13375. 761,764d933
  13376. <     /* A pointer to the bfd which owns the symbol. This information is
  13377. <     necessary so that a back end can work out what additional (invisible to
  13378. <     the application writer) information is carried with the symbol. 
  13379. <     */
  13380. 767,769c936,940
  13381. <     /* The text of the symbol. The name is left alone, and not copied - the
  13382. <     application may not alter it. 
  13383. <     */
  13384. ---
  13385. > /*
  13386. > The text of the symbol. The name is left alone, and not copied - the
  13387. > application may not alter it. 
  13388. > */
  13389. 772,773c943,946
  13390. <     /* The value of the symbol.
  13391. <     */
  13392. ---
  13393. > /*
  13394. > The value of the symbol.
  13395. > */
  13396. 776,777c949,952
  13397. <     /* Attributes of a symbol:
  13398. <     */
  13399. ---
  13400. > /*
  13401. > Attributes of a symbol:
  13402. > */
  13403. 780,782c955,959
  13404. <     /* The symbol has local scope; @code{static} in @code{C}. The value is
  13405. <     the offset into the section of the data.
  13406. <     */
  13407. ---
  13408. > /*
  13409. > The symbol has local scope; @code{static} in @code{C}. The value is
  13410. > the offset into the section of the data.
  13411. > */
  13412. 785,787c962,966
  13413. <     /* The symbol has global scope; initialized data in @code{C}. The value
  13414. <     is the offset into the section of the data.
  13415. <     */
  13416. ---
  13417. > /*
  13418. > The symbol has global scope; initialized data in @code{C}. The value
  13419. > is the offset into the section of the data.
  13420. > */
  13421. 790,791c969,972
  13422. <     /* Obsolete
  13423. <     */
  13424. ---
  13425. > /*
  13426. > Obsolete
  13427. > */
  13428. 794,796c975,979
  13429. <     /* The symbol has global scope, and is exported. The value is the offset
  13430. <     into the section of the data.
  13431. <     */
  13432. ---
  13433. > /*
  13434. > The symbol has global scope, and is exported. The value is the offset
  13435. > into the section of the data.
  13436. > */
  13437. 799,800c982,985
  13438. <     /* The symbol is undefined. @code{extern} in @code{C}. The value has no meaning.
  13439. <     */
  13440. ---
  13441. > /*
  13442. > The symbol is undefined. @code{extern} in @code{C}. The value has no meaning.
  13443. > */
  13444. 803,805c988,992
  13445. <     /* The symbol is common, initialized to zero; default in @code{C}. The
  13446. <     value is the size of the object in bytes.
  13447. <     */
  13448. ---
  13449. > /*
  13450. > The symbol is common, initialized to zero; default in @code{C}. The
  13451. > value is the size of the object in bytes.
  13452. > */
  13453. 808,812c995,1001
  13454. <     /* A normal @code{C} symbol would be one of:
  13455. <     @code{BSF_LOCAL}, @code{BSF_FORT_COMM},  @code{BSF_UNDEFINED} or @code{BSF_EXPORT|BSD_GLOBAL}
  13456. <     
  13457. <     The symbol is a debugging record. The value has an arbitary meaning.
  13458. <     */
  13459. ---
  13460. > /*
  13461. > A normal @code{C} symbol would be one of:
  13462. > @code{BSF_LOCAL}, @code{BSF_FORT_COMM},  @code{BSF_UNDEFINED} or @code{BSF_EXPORT|BSD_GLOBAL}
  13463. > The symbol is a debugging record. The value has an arbitary meaning.
  13464. > */
  13465. 815,817c1004,1008
  13466. <     /* The symbol has no section attached, any value is the actual value and
  13467. <     is not a relative offset to a section.
  13468. <     */
  13469. ---
  13470. > /*
  13471. > The symbol has no section attached, any value is the actual value and
  13472. > is not a relative offset to a section.
  13473. > */
  13474. 820,821c1011,1014
  13475. <     /* Used by the linker
  13476. <     */
  13477. ---
  13478. > /*
  13479. > Used by the linker
  13480. > */
  13481. 823d1015
  13482. < #define BSF_WARNING     0x20000
  13483. 826,827c1018,1021
  13484. <     /* Unused
  13485. <     */
  13486. ---
  13487. > /*
  13488. > Unused
  13489. > */
  13490. 832,833c1026,1029
  13491. <     /* The symbol used to be a common symbol, but now it is allocated.
  13492. <     */
  13493. ---
  13494. > /*
  13495. > The symbol used to be a common symbol, but now it is allocated.
  13496. > */
  13497. 836,837c1032,1035
  13498. <     /* The default value for common data.
  13499. <     */
  13500. ---
  13501. > /*
  13502. > The default value for common data.
  13503. > */
  13504. 840,844c1038,1044
  13505. <     /* In some files the type of a symbol sometimes alters its location
  13506. <     in an output file - ie in coff a @code{ISFCN} symbol which is also @code{C_EXT}
  13507. <     symbol appears where it was declared and not at the end of a section. 
  13508. <     This bit is set by the target bfd part to convey this information. 
  13509. <     */
  13510. ---
  13511. > /*
  13512. > In some files the type of a symbol sometimes alters its location
  13513. > in an output file - ie in coff a @code{ISFCN} symbol which is also @code{C_EXT}
  13514. > symbol appears where it was declared and not at the end of a section. 
  13515. > This bit is set by the target BFD part to convey this information. 
  13516. > */
  13517. 845a1046,1070
  13518. > /*
  13519. > Signal that the symbol is the label of constructor section.
  13520. > */
  13521. > #define BSF_CONSTRUCTOR   0x1000000
  13522. > /*
  13523. > Signal that the symbol is a warning symbol. If the symbol is a warning
  13524. > symbol, then the value field (I know this is tacky) will point to the
  13525. > asymbol which when referenced will cause the warning.
  13526. > */
  13527. > #define BSF_WARNING       0x2000000
  13528. > /*
  13529. > Signal that the symbol is indirect. The value of the symbol is a
  13530. > pointer to an undefined asymbol which contains the name to use
  13531. > instead.
  13532. > */
  13533. > #define BSF_INDIRECT     0x4000000
  13534. > /*
  13535. > */
  13536. 848,852c1073,1079
  13537. <     /* Aointer to the section to which this symbol is relative, or 0 if the
  13538. <     symbol is absolute or undefined. Note that it is not sufficient to set
  13539. <     this location to 0 to mark a symbol as absolute - the flag
  13540. <     @code{BSF_ABSOLUTE} must be set also.
  13541. <     */
  13542. ---
  13543. > /*
  13544. > Aointer to the section to which this symbol is relative, or 0 if the
  13545. > symbol is absolute or undefined. Note that it is not sufficient to set
  13546. > this location to 0 to mark a symbol as absolute - the flag
  13547. > @code{BSF_ABSOLUTE} must be set also.
  13548. > */
  13549. 855,857c1082,1086
  13550. <     /* Back end special data. This is being phased out in favour of making
  13551. <     this a union.
  13552. <     */
  13553. ---
  13554. > /*
  13555. > Back end special data. This is being phased out in favour of making
  13556. > this a union.
  13557. > */
  13558. 861,863c1090,1095
  13559. < /* Returns the number of bytes required in a vector of pointers to
  13560. < @code{asymbols} for all the symbols in the supplied bfd, including a
  13561. < terminal NULL pointer. If there are no symbols in the bfd, then 0 is
  13562. ---
  13563. > /*
  13564. >  get_symtab_upper_bound
  13565. > Returns the number of bytes required in a vector of pointers to
  13566. > @code{asymbols} for all the symbols in the supplied BFD, including a
  13567. > terminal NULL pointer. If there are no symbols in the BFD, then 0 is
  13568. 869,870c1101,1105
  13569. < /* Supplied a bfd and a pointer to an uninitialized vector of pointers.
  13570. < This reads in the symbols from the bfd, and fills in the table with
  13571. ---
  13572. > /*
  13573. >  bfd_canonicalize_symtab
  13574. > Supplied a BFD and a pointer to an uninitialized vector of pointers.
  13575. > This reads in the symbols from the BFD, and fills in the table with
  13576. 873d1107
  13577. 874a1109
  13578. 879,882c1114,1117
  13579. < /* Provided a table of pointers to to symbols and a count, writes to the
  13580. < output bfd the symbols when closed.
  13581. ---
  13582. > /*
  13583. >  bfd_set_symtab
  13584. > Provided a table of pointers to to symbols and a count, writes to the
  13585. > output BFD the symbols when closed.
  13586. 884,885c1119,1128
  13587. < PROTO(boolean, bfd_set_symtab, (bfd *, asymbol **, unsigned int ));
  13588. < /* Prints the value and flags of the symbol supplied to the stream file.
  13589. ---
  13590. >  PROTO(boolean, bfd_set_symtab, (bfd *, asymbol **, unsigned int ));
  13591. > /*
  13592. >  bfd_print_symbol_vandf
  13593. > Prints the value and flags of the symbol supplied to the stream file.
  13594. > */
  13595. >  PROTO(void, bfd_print_symbol_vandf, (PTR file, asymbol *symbol));
  13596. 887,889c1130,1133
  13597. < */
  13598. < PROTO(void, bfd_print_symbol_vandf, (PTR file, asymbol *symbol));
  13599. < /* This function creates a new @code{asymbol} structure for the bfd, and
  13600. ---
  13601. > /*
  13602. >   bfd_make_empty_symbol
  13603. > This function creates a new @code{asymbol} structure for the BFD, and
  13604. 899a1144
  13605. > /*:bfd.c*/
  13606. 903,904c1148,1149
  13607. < libbfd. References though the bfd and to data in the bfd give the
  13608. < entire bfd functionality.
  13609. ---
  13610. > @code{libbfd}. References though the BFD and to data in the BFD give the
  13611. > entire BFD functionality.
  13612. 906c1151
  13613. < Finally!  The BFD struct itself.  This contains the major data about
  13614. ---
  13615. > Here is the BFD struct itself.  This contains the major data about
  13616. 908d1152
  13617. 909a1154
  13618. 911a1157,1158
  13619. > /*   The filename the application opened the BFD with.
  13620. > */
  13621. 913,914d1159
  13622. <     /*   The filename the application opened the bfd with.
  13623. <     */
  13624. 917,918c1162,1165
  13625. <     /* A pointer to the target jump table.
  13626. <     */
  13627. ---
  13628. > /*
  13629. > A pointer to the target jump table.
  13630. > */
  13631. 921,927c1168,1177
  13632. <     /* To avoid dragging too many header files into every file that
  13633. <     includes bfd.h, IOSTREAM has been declared as a "char *", and MTIME
  13634. <     as a "long".  Their correct types, to which they are cast when used,
  13635. <     are "FILE *" and "time_t".  
  13636. <     
  13637. <     The iostream is the result of an fopen on the filename.
  13638. <     */
  13639. ---
  13640. > /*
  13641. > To avoid dragging too many header files into every file that
  13642. > includes @file{bfd.h}, IOSTREAM has been declared as a "char *", and MTIME
  13643. > as a "long".  Their correct types, to which they are cast when used,
  13644. > are "FILE *" and "time_t".  
  13645. > The iostream is the result of an fopen on the filename.
  13646. > */
  13647. 930,931c1180,1183
  13648. <     /* Is the file being cached @xref{File Caching}.
  13649. <     */
  13650. ---
  13651. > /*
  13652. > Is the file being cached @xref{File Caching}.
  13653. > */
  13654. 934,937c1186,1191
  13655. <     /* Marks whether there was a default target specified when the bfd was
  13656. <     opened. This is used to select what matching algorithm to use to chose
  13657. <     the back end.
  13658. <     */
  13659. ---
  13660. > /*
  13661. > Marks whether there was a default target specified when the BFD was
  13662. > opened. This is used to select what matching algorithm to use to chose
  13663. > the back end.
  13664. > */
  13665. 940,941c1194,1198
  13666. <     /* The caching routines use these to maintain an LRU list of bfds.
  13667. <     */
  13668. ---
  13669. > /*
  13670. > The caching routines use these to maintain a least-recently-used list of
  13671. > BFDs (@pxref{File Caching}).
  13672. > */
  13673. 944,946c1201,1205
  13674. <     /* When a file is closed by the caching routines, it retains the state
  13675. <     here:
  13676. <     */
  13677. ---
  13678. > /*
  13679. > When a file is closed by the caching routines, BFD retains state
  13680. > information on the file here:
  13681. > */
  13682. 949,950c1208,1211
  13683. <     /* and here:
  13684. <     */
  13685. ---
  13686. > /*
  13687. > and here:
  13688. > */
  13689. 951a1213,1215
  13690. > /*
  13691. > */
  13692. 952a1217,1218
  13693. > /* File modified time 
  13694. > */
  13695. 954,955d1219
  13696. <     /* File modified time 
  13697. <     */
  13698. 958,959c1222,1225
  13699. <     /* For output files, channel we locked (is this used?).
  13700. <     */
  13701. ---
  13702. > /*
  13703. > For output files, channel we locked (is this used?).
  13704. > */
  13705. 962,963c1228,1231
  13706. <     /* The format which belongs to the bfd.
  13707. <     */
  13708. ---
  13709. > /*
  13710. > The format which belongs to the BFD.
  13711. > */
  13712. 966,967c1234,1237
  13713. <     /* The direction the bfd was opened with
  13714. <     */
  13715. ---
  13716. > /*
  13717. > The direction the BFD was opened with
  13718. > */
  13719. 973,974c1243,1246
  13720. <     /* Format_specific flags
  13721. <     */
  13722. ---
  13723. > /*
  13724. > Format_specific flags
  13725. > */
  13726. 977,980c1249,1254
  13727. <     /* Currently my_archive is tested before adding origin to anything. I
  13728. <     believe that this can become always an add of origin, with origin set
  13729. <     to 0 for non archive files.  
  13730. <     */
  13731. ---
  13732. > /*
  13733. > Currently my_archive is tested before adding origin to anything. I
  13734. > believe that this can become always an add of origin, with origin set
  13735. > to 0 for non archive files.  
  13736. > */
  13737. 983,984c1257,1260
  13738. <     /* Remember when output has begun, to stop strange things happening.
  13739. <     */
  13740. ---
  13741. > /*
  13742. > Remember when output has begun, to stop strange things happening.
  13743. > */
  13744. 987,988c1263,1266
  13745. <     /* Pointer to linked list of sections
  13746. <     */
  13747. ---
  13748. > /*
  13749. > Pointer to linked list of sections
  13750. > */
  13751. 991,992c1269,1272
  13752. <     /* The number of sections 
  13753. <     */
  13754. ---
  13755. > /*
  13756. > The number of sections 
  13757. > */
  13758. 995,997c1275,1279
  13759. <     /* Stuff only usefull for object files:
  13760. <     The start address.
  13761. <     */
  13762. ---
  13763. > /*
  13764. > Stuff only useful for object files:
  13765. > The start address.
  13766. > */
  13767. 998a1281,1282
  13768. > /* Used for input and output
  13769. > */
  13770. 1000,1001d1283
  13771. <     /* Used for input and output
  13772. <     */
  13773. 1002a1285,1286
  13774. > /* Symbol table for output BFD
  13775. > */
  13776. 1004,1005d1287
  13777. <     /* Symtab for output bfd
  13778. <     */
  13779. 1008,1009c1290,1293
  13780. <     /* Architecture of object machine, eg m68k 
  13781. <     */
  13782. ---
  13783. > /*
  13784. > Architecture of object machine, eg m68k 
  13785. > */
  13786. 1012,1013c1296,1299
  13787. <     /* Particular machine within arch, e.g. 68010
  13788. <     */
  13789. ---
  13790. > /*
  13791. > Particular machine within arch, e.g. 68010
  13792. > */
  13793. 1016,1017c1302,1305
  13794. <     /* Stuff only usefull for archives:
  13795. <     */
  13796. ---
  13797. > /*
  13798. > Stuff only useful for archives:
  13799. > */
  13800. 1024,1025c1312,1315
  13801. <     /* Used by the back end to hold private data.
  13802. <     */
  13803. ---
  13804. > /*
  13805. > Used by the back end to hold private data.
  13806. > */
  13807. 1028,1029c1318,1321
  13808. <     /* Used by the application to hold private data
  13809. <     */
  13810. ---
  13811. > /*
  13812. > Used by the application to hold private data
  13813. > */
  13814. 1032,1033c1324,1327
  13815. <     /* Where all the allocated stuff under this BFD goes 
  13816. <     */
  13817. ---
  13818. > /*
  13819. > Where all the allocated stuff under this BFD goes (@pxref{Memory Usage}).
  13820. > */
  13821. 1037,1038c1331,1333
  13822. < /* Marks the entry point of an output bfd. Returns @code{true} on
  13823. < success, @code{false} otherwise.
  13824. ---
  13825. > /*
  13826. >  bfd_set_start_address
  13827. 1039a1335,1336
  13828. > Marks the entry point of an output BFD. Returns @code{true} on
  13829. > success, @code{false} otherwise.
  13830. 1041,1042c1338,1345
  13831. < PROTO(boolean, bfd_set_start_address,(bfd *, bfd_vma));
  13832. < /* Return cached file modification time (e.g. as read from archive header
  13833. ---
  13834. >  PROTO(boolean, bfd_set_start_address,(bfd *, bfd_vma));
  13835. > /*
  13836. >   bfd_get_mtime
  13837. > Return cached file modification time (e.g. as read from archive header
  13838. 1044a1348,1350
  13839. > */
  13840. >  PROTO(long, bfd_get_mtime, (bfd *));
  13841. 1045a1352,1354
  13842. > /*
  13843. >  stuff
  13844. 1047c1356,1357
  13845. < PROTO(long, bfd_get_mtime, (bfd *));
  13846. ---
  13847. 1075c1385
  13848. < /* What this does
  13849. ---
  13850. > /*
  13851. 1077,1078c1387,1397
  13852. < PROTO(symindex, bfd_get_next_mapent, (bfd *, symindex, carsym **));
  13853. < /* Used whilst processing archives. Sets the head of the chain of bfds
  13854. ---
  13855. > /*:archive.c*/
  13856. > /* bfd_get_next_mapent
  13857. > What this does
  13858. > */
  13859. >  PROTO(symindex, bfd_get_next_mapent, (bfd *, symindex, carsym **));
  13860. > /*
  13861. >  bfd_set_archive_head
  13862. > Used whilst processing archives. Sets the head of the chain of BFDs
  13863. 1081c1400
  13864. < PROTO(boolean, bfd_set_archive_head, (bfd *output, bfd *new_head));
  13865. ---
  13866. >  PROTO(boolean, bfd_set_archive_head, (bfd *output, bfd *new_head));
  13867. 1083c1402
  13868. < PROTO(bfd *, bfd_get_elt_at_index, (bfd *, int));
  13869. ---
  13870. > /*
  13871. 1084a1404,1407
  13872. >  bfd_get_elt_at_index
  13873. > */
  13874. >  PROTO(bfd *, bfd_get_elt_at_index, (bfd *, int));
  13875. 1086c1409,1412
  13876. < /* Initially provided a bfd containing an archive and NULL, opens a bfd
  13877. ---
  13878. > /*
  13879. >  bfd_openr_next_archived_file
  13880. > Initially provided a BFD containing an archive and NULL, opens a BFD
  13881. 1089c1415
  13882. < return value to return a created bfd to the next contained element.
  13883. ---
  13884. > return value to return a created BFD to the next contained element.
  13885. 1091d1416
  13886. 1093c1418,1419
  13887. < PROTO(bfd*, bfd_openr_next_archived_file,
  13888. ---
  13889. >  PROTO(bfd*, bfd_openr_next_archived_file,
  13890. 1095,1096d1420
  13891. < /* Returns a read-only string explaining what program was running when
  13892. < it failed and produced the core file being read
  13893. 1097a1422
  13894. > /*
  13895. 1099,1101c1424
  13896. < PROTO(CONST char *, bfd_core_file_failing_command, (bfd *));
  13897. < /* Returns the signal number which caused the core dump which generated
  13898. < the file the bfd is attatched to.
  13899. ---
  13900. 1102a1426,1429
  13901. > /*:core.c*/
  13902. > /* bfd_core_file_failing_command
  13903. > Returns a read-only string explaining what program was running when
  13904. > it failed and produced the core file being read
  13905. 1104,1106c1431,1447
  13906. < PROTO(int, bfd_core_file_failing_signal, (bfd *));
  13907. < /* Returns @code{true} if the core file attatched to @var{core_bfd} was
  13908. < generated by a run of the executable file attatched to @var{exec_bfd},
  13909. ---
  13910. >  PROTO(CONST char *, bfd_core_file_failing_command, (bfd *));
  13911. > /*
  13912. >  bfd_core_file_failing_signal
  13913. > Returns the signal number which caused the core dump which generated
  13914. > the file the BFD is attached to.
  13915. > */
  13916. >  PROTO(int, bfd_core_file_failing_signal, (bfd *));
  13917. > /*
  13918. >  core_file_matches_executable_p
  13919. > Returns @code{true} if the core file attached to @var{core_bfd} was
  13920. > generated by a run of the executable file attached to @var{exec_bfd},
  13921. 1109c1450
  13922. < PROTO(boolean, core_file_matches_executable_p,
  13923. ---
  13924. >  PROTO(boolean, core_file_matches_executable_p,
  13925. 1111c1452,1454
  13926. < /* The relocation routine returns as a status an enumerated type:
  13927. ---
  13928. > /*
  13929. > */
  13930. 1112a1456,1458
  13931. > /*:reloc.c*/
  13932. > /* bfd_perform_relocation
  13933. > The relocation routine returns as a status an enumerated type:
  13934. 1113a1460
  13935. 1114a1462,1463
  13936. > /* No errors detected
  13937. > */
  13938. 1116,1117d1464
  13939. <     /* No errors detected
  13940. <     */
  13941. 1120,1121c1467,1470
  13942. <     /* The relocation was performed, but there was an overflow.
  13943. <     */
  13944. ---
  13945. > /*
  13946. > The relocation was performed, but there was an overflow.
  13947. > */
  13948. 1124,1125c1473,1476
  13949. <     /* The address to relocate was not within the section supplied
  13950. <     */
  13951. ---
  13952. > /*
  13953. > The address to relocate was not within the section supplied
  13954. > */
  13955. 1128,1129c1479,1482
  13956. <     /* Used by special functions
  13957. <     */
  13958. ---
  13959. > /*
  13960. > Used by special functions
  13961. > */
  13962. 1132,1133c1485,1488
  13963. <     /* Unused 
  13964. <     */
  13965. ---
  13966. > /*
  13967. > Unused 
  13968. > */
  13969. 1136,1137c1491,1494
  13970. <     /* Unsupported relocation size requested. 
  13971. <     */
  13972. ---
  13973. > /*
  13974. > Unsupported relocation size requested. 
  13975. > */
  13976. 1140,1141c1497,1500
  13977. <     /* The symbol to relocate against was undefined.
  13978. <     */
  13979. ---
  13980. > /*
  13981. > The symbol to relocate against was undefined.
  13982. > */
  13983. 1144,1146c1503,1507
  13984. <     /* The relocaction was performed, but may not be ok - presently generated
  13985. <     only when linking i960 coff files with i960 b.out symbols.
  13986. <     */
  13987. ---
  13988. > /*
  13989. > The relocaction was performed, but may not be ok - presently generated
  13990. > only when linking i960 coff files with i960 b.out symbols.
  13991. > */
  13992. 1149a1511,1514
  13993. > /*
  13994. > */
  13995. 1153,1154c1518,1521
  13996. <     /* A pointer into the canonical table of pointers 
  13997. <     */
  13998. ---
  13999. > /*
  14000. > A pointer into the canonical table of pointers 
  14001. > */
  14002. 1157,1158c1524,1527
  14003. <     /* offset in section                 
  14004. <     */
  14005. ---
  14006. > /*
  14007. > offset in section                 
  14008. > */
  14009. 1161,1162c1530,1533
  14010. <     /* addend for relocation value        
  14011. <     */
  14012. ---
  14013. > /*
  14014. > addend for relocation value        
  14015. > */
  14016. 1165,1166c1536,1539
  14017. <     /* if sym is null this is the section 
  14018. <     */
  14019. ---
  14020. > /*
  14021. > if sym is null this is the section 
  14022. > */
  14023. 1169,1170c1542,1545
  14024. <     /* Pointer to how to perform the required relocation
  14025. <     */
  14026. ---
  14027. > /*
  14028. > Pointer to how to perform the required relocation
  14029. > */
  14030. 1174,1175c1549
  14031. < /* The @code{reloc_howto_type} is a structure which contains all the
  14032. < information that bfd needs to know to tie up a back end's data.
  14033. ---
  14034. > /*
  14035. 1176a1551,1553
  14036. >  reloc_howto_type
  14037. > The @code{reloc_howto_type} is a structure which contains all the
  14038. > information that BFD needs to know to tie up a back end's data.
  14039. 1177a1555
  14040. 1179a1558,1564
  14041. > /* The type field has mainly a documetary use - the back end can to what
  14042. > it wants with it, though the normally the back end's external idea of
  14043. > what a reloc number would be would be stored in this field. For
  14044. > example, the a PC relative word relocation in a coff environment would
  14045. > have the type 023 - because that's what the outside world calls a
  14046. > R_PCRWORD reloc.
  14047. > */
  14048. 1181,1187d1565
  14049. <     /* The type field has mainly a documetary use - the back end can to what
  14050. <     it wants with it, though the normally the back end's external idea of
  14051. <     what a reloc number would be would be stored in this field. For
  14052. <     example, the a PC relative word relocation in a coff environment would
  14053. <     have the type 023 - because that's what the outside world calls a
  14054. <     R_PCRWORD reloc.
  14055. <     */
  14056. 1190,1192c1568,1572
  14057. <     /* The value the final relocation is shifted right by. This drops
  14058. <     unwanted data from the relocation. 
  14059. <     */
  14060. ---
  14061. > /*
  14062. > The value the final relocation is shifted right by. This drops
  14063. > unwanted data from the relocation. 
  14064. > */
  14065. 1195,1197c1575,1579
  14066. <     /* The size of the item to be relocated - 0, is one byte, 1 is 2 bytes, 3
  14067. <     is four bytes.
  14068. <     */
  14069. ---
  14070. > /*
  14071. > The size of the item to be relocated - 0, is one byte, 1 is 2 bytes, 3
  14072. > is four bytes.
  14073. > */
  14074. 1200,1201c1582,1585
  14075. <     /* Now obsolete
  14076. <     */
  14077. ---
  14078. > /*
  14079. > Now obsolete
  14080. > */
  14081. 1204,1207c1588,1593
  14082. <     /* Notes that the relocation is relative to the location in the data
  14083. <     section of the addend. The relocation function will subtract from the
  14084. <     relocation value the address of the location being relocated.
  14085. <     */
  14086. ---
  14087. > /*
  14088. > Notes that the relocation is relative to the location in the data
  14089. > section of the addend. The relocation function will subtract from the
  14090. > relocation value the address of the location being relocated.
  14091. > */
  14092. 1210,1211c1596,1599
  14093. <     /* Now obsolete
  14094. <     */
  14095. ---
  14096. > /*
  14097. > Now obsolete
  14098. > */
  14099. 1214,1215c1602,1605
  14100. <     /* Now obsolete
  14101. <     */
  14102. ---
  14103. > /*
  14104. > Now obsolete
  14105. > */
  14106. 1218,1220c1608,1612
  14107. <     /* Causes the relocation routine to return an error if overflow is
  14108. <     detected when relocating.
  14109. <     */
  14110. ---
  14111. > /*
  14112. > Causes the relocation routine to return an error if overflow is
  14113. > detected when relocating.
  14114. > */
  14115. 1223,1226c1615,1620
  14116. <     /* If this field is non null, then the supplied function is called rather
  14117. <     than the normal function. This allows really strange relocation
  14118. <     methods to be accomodated (eg, i960 callj instructions).
  14119. <     */
  14120. ---
  14121. > /*
  14122. > If this field is non null, then the supplied function is called rather
  14123. > than the normal function. This allows really strange relocation
  14124. > methods to be accomodated (eg, i960 callj instructions).
  14125. > */
  14126. 1229,1230c1623,1626
  14127. <     /* The textual name of the relocation type.
  14128. <     */
  14129. ---
  14130. > /*
  14131. > The textual name of the relocation type.
  14132. > */
  14133. 1233,1235c1629,1633
  14134. <     /* When performing a partial link, some formats must modify the
  14135. <     relocations rather than the data - this flag signals this.
  14136. <     */
  14137. ---
  14138. > /*
  14139. > When performing a partial link, some formats must modify the
  14140. > relocations rather than the data - this flag signals this.
  14141. > */
  14142. 1238,1244c1636,1644
  14143. <     /* The src_mask is used to select what parts of the read in data are to
  14144. <     be used in the relocation sum. Eg, if this was an 8 bit bit of data
  14145. <     which we read and relocated, this would be 0x000000ff. When we have
  14146. <     relocs which have an addend, such as sun4 extended relocs, the value
  14147. <     in the offset part of a relocating field is garbage so we never use
  14148. <     it. In this case the mask would be 0x00000000.
  14149. <     */
  14150. ---
  14151. > /*
  14152. > The src_mask is used to select what parts of the read in data are to
  14153. > be used in the relocation sum. Eg, if this was an 8 bit bit of data
  14154. > which we read and relocated, this would be 0x000000ff. When we have
  14155. > relocs which have an addend, such as sun4 extended relocs, the value
  14156. > in the offset part of a relocating field is garbage so we never use
  14157. > it. In this case the mask would be 0x00000000.
  14158. > */
  14159. 1245a1646,1650
  14160. > /* The dst_mask is what parts of the instruction are replaced into the
  14161. > instruction. In most cases src_mask == dst_mask, except in the above
  14162. > special case, where dst_mask would be 0x000000ff, and src_mask would
  14163. > be 0x00000000.
  14164. > */
  14165. 1247,1251d1651
  14166. <     /* The dst_mask is what parts of the instruction are replaced into the
  14167. <     instruction. In most cases src_mask == dst_mask, except in the above
  14168. <     special case, where dst_mask would be 0x000000ff, and src_mask would
  14169. <     be 0x00000000.
  14170. <     */
  14171. 1254,1260c1654,1662
  14172. <     /* When some formats create PC relative instructions, they leave the
  14173. <     value of the pc of the place being relocated in the offset slot of the
  14174. <     instruction, so that a PC relative relocation can be made just by
  14175. <     adding in an ordinary offset (eg sun3 a.out). Some formats leave the
  14176. <     displacement part of an instruction empty (eg m88k bcs), this flag
  14177. <     signals the fact.
  14178. <     */
  14179. ---
  14180. > /*
  14181. > When some formats create PC relative instructions, they leave the
  14182. > value of the pc of the place being relocated in the offset slot of the
  14183. > instruction, so that a PC relative relocation can be made just by
  14184. > adding in an ordinary offset (eg sun3 a.out). Some formats leave the
  14185. > displacement part of an instruction empty (eg m88k bcs), this flag
  14186. > signals the fact.
  14187. > */
  14188. 1264c1666,1669
  14189. < /* The HOWTO define is horrible and will go away.
  14190. ---
  14191. > /*
  14192. >  HOWTO
  14193. > The HOWTO define is horrible and will go away.
  14194. 1267a1673,1677
  14195. > /*
  14196. >  reloc_chain
  14197. > */
  14198. 1274a1685
  14199. > /*
  14200. 1276c1687
  14201. < /* If an output_bfd is supplied to this function the generated image
  14202. ---
  14203. > If an output_bfd is supplied to this function the generated image
  14204. 1288c1699
  14205. < PROTO(bfd_reloc_status_enum_type,
  14206. ---
  14207. >  PROTO(bfd_reloc_status_enum_type,
  14208. 1295c1706,1712
  14209. < /* @node bfd_target
  14210. ---
  14211. > /*
  14212. > */
  14213. > /*:targets.c*/
  14214. > /* bfd_target
  14215. > @node bfd_target
  14216. 1303d1719
  14217. 1306a1723
  14218. 1312,1314c1729,1732
  14219. < /* These macros are used to dispatch to functions through the bfd_target
  14220. < vector. They are used in a number of macros further down in bfd.h, and
  14221. < are also used when calling various routines by hand inside the bfd
  14222. ---
  14223. > /*
  14224. > These macros are used to dispatch to functions through the bfd_target
  14225. > vector. They are used in a number of macros further down in @file{bfd.h}, and
  14226. > are also used when calling various routines by hand inside the BFD
  14227. 1317a1736
  14228. 1321c1740,1741
  14229. < /* For operations which index on the bfd format 
  14230. ---
  14231. > /*
  14232. > For operations which index on the BFD format 
  14233. 1322a1743
  14234. 1326,1327c1747,1749
  14235. < /* This is the struct which defines the type of BFD this is.  The
  14236. < "xvec" member of the struct bfd itself points here.  Each module
  14237. ---
  14238. > /*
  14239. > This is the struct which defines the type of BFD this is.  The
  14240. > "xvec" member of the struct @code{bfd} itself points here.  Each module
  14241. 1334d1755
  14242. 1335a1757
  14243. 1339,1340c1761,1764
  14244. <     /* identifies the kind of target, eg SunOS4, Ultrix, etc 
  14245. <     */
  14246. ---
  14247. > /*
  14248. > identifies the kind of target, eg SunOS4, Ultrix, etc 
  14249. > */
  14250. 1343,1345c1767,1771
  14251. <     /* The "flavour" of a back end is a general indication about the contents
  14252. <     of a file.
  14253. <     */
  14254. ---
  14255. > /*
  14256. > The "flavour" of a back end is a general indication about the contents
  14257. > of a file.
  14258. > */
  14259. 1353,1354c1779,1782
  14260. <     /* The order of bytes within the data area of a file.
  14261. <     */
  14262. ---
  14263. > /*
  14264. > The order of bytes within the data area of a file.
  14265. > */
  14266. 1357,1358c1785,1788
  14267. <     /* The order of bytes within the header parts of a file.
  14268. <     */
  14269. ---
  14270. > /*
  14271. > The order of bytes within the header parts of a file.
  14272. > */
  14273. 1361,1363c1791,1795
  14274. <     /* This is a mask of all the flags which an executable may have set -
  14275. <     from the set @code{NO_FLAGS}, @code{HAS_RELOC}, ...@code{D_PAGED}.
  14276. <     */
  14277. ---
  14278. > /*
  14279. > This is a mask of all the flags which an executable may have set -
  14280. > from the set @code{NO_FLAGS}, @code{HAS_RELOC}, ...@code{D_PAGED}.
  14281. > */
  14282. 1366,1368c1798,1802
  14283. <     /* This is a mask of all the flags which a section may have set - from
  14284. <     the set @code{SEC_NO_FLAGS}, @code{SEC_ALLOC}, ...@code{SET_NEVER_LOAD}.
  14285. <     */
  14286. ---
  14287. > /*
  14288. > This is a mask of all the flags which a section may have set - from
  14289. > the set @code{SEC_NO_FLAGS}, @code{SEC_ALLOC}, ...@code{SET_NEVER_LOAD}.
  14290. > */
  14291. 1371,1372c1805,1808
  14292. <     /* The pad character for filenames within an archive header.
  14293. <     */
  14294. ---
  14295. > /*
  14296. > The pad character for filenames within an archive header.
  14297. > */
  14298. 1375,1376c1811,1814
  14299. <     /* The maximum number of characters in an archive header.
  14300. <     */
  14301. ---
  14302. > /*
  14303. > The maximum number of characters in an archive header.
  14304. > */
  14305. 1379,1380c1817,1820
  14306. <     /* The minimum alignment restriction for any section.
  14307. <     */
  14308. ---
  14309. > /*
  14310. > The minimum alignment restriction for any section.
  14311. > */
  14312. 1383,1386c1823,1828
  14313. <     /* Entries for byte swapping for data. These are different to the other
  14314. <     entry points, since they don't take bfd as first arg.  Certain other handlers
  14315. <     could do the same.
  14316. <     */
  14317. ---
  14318. > /*
  14319. > Entries for byte swapping for data. These are different to the other
  14320. > entry points, since they don't take BFD as first arg.  Certain other handlers
  14321. > could do the same.
  14322. > */
  14323. 1394,1395c1836,1839
  14324. <     /* Byte swapping for the headers
  14325. <     */
  14326. ---
  14327. > /*
  14328. > Byte swapping for the headers
  14329. > */
  14330. 1403,1407c1847,1853
  14331. <     /* Format dependent routines, these turn into vectors of entry points
  14332. <     within the target vector structure; one for each format to check.
  14333. <     
  14334. <     Check the format of a file being read.  Return bfd_target * or zero. 
  14335. <     */
  14336. ---
  14337. > /*
  14338. > Format dependent routines, these turn into vectors of entry points
  14339. > within the target vector structure; one for each format to check.
  14340. > Check the format of a file being read.  Return bfd_target * or zero. 
  14341. > */
  14342. 1410,1411c1856,1859
  14343. <     /* Set the format of a file being written.  
  14344. <     */
  14345. ---
  14346. > /*
  14347. > Set the format of a file being written.  
  14348. > */
  14349. 1414,1415c1862,1865
  14350. <     /* Write cached information into a file being written, at bfd_close. 
  14351. <     */
  14352. ---
  14353. > /*
  14354. > Write cached information into a file being written, at bfd_close. 
  14355. > */
  14356. 1418,1424c1868,1876
  14357. <     /* The following functions are defined in @code{JUMP_TABLE}. The idea is
  14358. <     that the back end writer of @code{foo} names all the routines
  14359. <     @code{foo_}@var{entry_point}, @code{JUMP_TABLE} will built the entries
  14360. <     in this structure in the right order.
  14361. <     
  14362. <     Core file entry points
  14363. <     */
  14364. ---
  14365. > /*
  14366. > The following functions are defined in @code{JUMP_TABLE}. The idea is
  14367. > that the back end writer of @code{foo} names all the routines
  14368. > @code{foo_}@var{entry_point}, @code{JUMP_TABLE} will built the entries
  14369. > in this structure in the right order.
  14370. > Core file entry points
  14371. > */
  14372. 1429,1430c1881,1884
  14373. <     /* Archive entry points
  14374. <     */
  14375. ---
  14376. > /*
  14377. > Archive entry points
  14378. > */
  14379. 1440,1441c1894,1897
  14380. <     /* Standard stuff.
  14381. <     */
  14382. ---
  14383. > /*
  14384. > Standard stuff.
  14385. > */
  14386. 1449,1450c1905,1908
  14387. <     /* Symbols and reloctions
  14388. <     */
  14389. ---
  14390. > /*
  14391. > Symbols and reloctions
  14392. > */
  14393. 1479,1480c1937,1940
  14394. <     /* Special entry points for gdb to swap in coff symbol table parts
  14395. <     */
  14396. ---
  14397. > /*
  14398. > Special entry points for gdb to swap in coff symbol table parts
  14399. > */
  14400. 1500c1960,1963
  14401. < /* Returns a pointer to the transfer vector for the object target
  14402. ---
  14403. > /*
  14404. > *i bfd_find_target
  14405. > Returns a pointer to the transfer vector for the object target
  14406. 1506,1507c1969,1970
  14407. < and "target_defaulted" will be set in the bfd.  This causes
  14408. < bfd_check_format to loop over all the targets to find the one
  14409. ---
  14410. > and "target_defaulted" will be set in the BFD.  This causes
  14411. > @code{bfd_check_format} to loop over all the targets to find the one
  14412. 1510,1516c1973,1990
  14413. < PROTO(bfd_target *, bfd_find_target,(CONST char *, bfd *));
  14414. < /* This function returns a freshly malloced NULL-terminated vector of the
  14415. < names of all the valid bfd targets. Do not modify the names 
  14416. < */
  14417. < PROTO(CONST char **,bfd_target_list,());
  14418. < /* This routine is supplied a bfd and a format. It attempts to verify if
  14419. < the file attatched to the bfd is indeed compatible with the format
  14420. ---
  14421. >  PROTO(bfd_target *, bfd_find_target,(CONST char *, bfd *));
  14422. > /*
  14423. > *i bfd_target_list
  14424. > This function returns a freshly malloced NULL-terminated vector of the
  14425. > names of all the valid BFD targets. Do not modify the names 
  14426. > */
  14427. >  PROTO(CONST char **,bfd_target_list,());
  14428. > /*
  14429. > */
  14430. > /*:format.c*/
  14431. > /* *i bfd_check_format
  14432. > This routine is supplied a BFD and a format. It attempts to verify if
  14433. > the file attached to the BFD is indeed compatible with the format
  14434. 1520c1994
  14435. < If the bfd has been set to a specific @var{target} before the call,
  14436. ---
  14437. > If the BFD has been set to a specific @var{target} before the call,
  14438. 1541,1544c2015,2022
  14439. < PROTO(boolean, bfd_check_format, (bfd *abfd, bfd_format format));
  14440. < /* This function sets the file format of the supplied bfd to the format
  14441. < requested. If the target set in the bfd does not support the format
  14442. < requested, the format is illegal or the bfd is not open for writing
  14443. ---
  14444. >  PROTO(boolean, bfd_check_format, (bfd *abfd, bfd_format format));
  14445. > /*
  14446. > *i bfd_set_format
  14447. > This function sets the file format of the supplied BFD to the format
  14448. > requested. If the target set in the BFD does not support the format
  14449. > requested, the format is illegal or the BFD is not open for writing
  14450. 1547,1548c2025,2030
  14451. < PROTO(boolean,bfd_set_format,(bfd *, bfd_format));
  14452. < /* This function takes one argument, and enumerated type (bfd_format) and
  14453. ---
  14454. >  PROTO(boolean,bfd_set_format,(bfd *, bfd_format));
  14455. > /*
  14456. > *i bfd_format_string
  14457. > This function takes one argument, and enumerated type (bfd_format) and
  14458. 1552,1553c2034
  14459. < PROTO(CONST char *, bfd_format_string, (bfd_format));
  14460. < #endif
  14461. ---
  14462. >  PROTO(CONST char *, bfd_format_string, (bfd_format));
  14463. 1554a2036,2039
  14464. > /*
  14465. > */
  14466. > #endif
  14467. diff -r gdb-3.98/include/ecoff.h gdb-4.0/include/ecoff.h
  14468. 68a69,75
  14469. > /*
  14470. >  * names of "special" sections
  14471. >  */
  14472. > #define _TEXT   ".text"
  14473. > #define _DATA   ".data"
  14474. > #define _BSS    ".bss"
  14475. diff -r gdb-3.98/include/intel-coff.h gdb-4.0/include/intel-coff.h
  14476. 102a103,108
  14477. > /*
  14478. >  * names of "special" sections
  14479. >  */
  14480. > #define _TEXT   ".text"
  14481. > #define _DATA   ".data"
  14482. > #define _BSS    ".bss"
  14483. diff -r gdb-3.98/include/internalcoff.h gdb-4.0/include/internalcoff.h
  14484. 109,115d108
  14485. <  * names of "special" sections
  14486. <  */
  14487. < #define _TEXT    ".text"
  14488. < #define _DATA    ".data"
  14489. < #define _BSS    ".bss"
  14490. < /*
  14491. diff -r gdb-3.98/include/m68k-opcode.h gdb-4.0/include/m68k-opcode.h
  14492. 1,2c1,2
  14493. < /* Opcode table for m68000/m68020 and m68881.
  14494. <    Copyright (C) 1989, Free Software Foundation.
  14495. ---
  14496. > /* Opcode table for m680[01234]0/m6888[12].
  14497. >    Copyright (C) 1989, 1991 Free Software Foundation.
  14498. 19d18
  14499. <    
  14500. 21,26c20,42
  14501. < struct m68k_opcode
  14502. < {
  14503. <   char *name;
  14504. <   unsigned long opcode;
  14505. <   unsigned long  match;
  14506. <   char *args;
  14507. ---
  14508. > enum m68k_architecture {
  14509. >     ARCH_68000 = 0,
  14510. >     ARCH_68010,
  14511. >     ARCH_68020,
  14512. >     ARCH_68030,
  14513. >     ARCH_68040,
  14514. > };
  14515. > static char *architecture_pname[] = {
  14516. >     "68000",
  14517. >     "68010",
  14518. >     "68020",
  14519. >     "68030",
  14520. >     "68040",
  14521. >     NULL,
  14522. > };
  14523. > struct m68k_opcode {
  14524. >     char *name;
  14525. >     unsigned long opcode;
  14526. >     unsigned long match;
  14527. >     char *args;
  14528. >     enum m68k_architecture arch;
  14529. 207,208c223,224
  14530. < {"abcd",    one(0140400),        one(0170770),        "DsDd"},
  14531. < {"abcd",    one(0140410),        one(0170770),        "-s-d"},
  14532. ---
  14533. > {"abcd",    one(0140400),        one(0170770), "DsDd", ARCH_68000 },
  14534. > {"abcd",    one(0140410),        one(0170770), "-s-d", ARCH_68000 },
  14535. 211,218c227,234
  14536. < {"addal",    one(0150700),        one(0170700),        "*lAd"},
  14537. < {"addaw",    one(0150300),        one(0170700),        "*wAd"},
  14538. < {"addib",    one(0003000),        one(0177700),        "#b$b"},
  14539. < {"addil",    one(0003200),        one(0177700),        "#l$l"},
  14540. < {"addiw",    one(0003100),        one(0177700),        "#w$w"},
  14541. < {"addqb",    one(0050000),        one(0170700),        "Qd$b"},
  14542. < {"addql",    one(0050200),        one(0170700),        "Qd%l"},
  14543. < {"addqw",    one(0050100),        one(0170700),        "Qd%w"},
  14544. ---
  14545. > {"addal",    one(0150700),        one(0170700), "*lAd", ARCH_68000 },
  14546. > {"addaw",    one(0150300),        one(0170700), "*wAd", ARCH_68000 },
  14547. > {"addib",    one(0003000),        one(0177700), "#b$b", ARCH_68000 },
  14548. > {"addil",    one(0003200),        one(0177700), "#l$l", ARCH_68000 },
  14549. > {"addiw",    one(0003100),        one(0177700), "#w$w", ARCH_68000 },
  14550. > {"addqb",    one(0050000),        one(0170700), "Qd$b", ARCH_68000 },
  14551. > {"addql",    one(0050200),        one(0170700), "Qd%l", ARCH_68000 },
  14552. > {"addqw",    one(0050100),        one(0170700), "Qd%w", ARCH_68000 },
  14553. 281a298
  14554. > {"jfnlt",        one(0062000),        one(0177777),        "BW"},
  14555. 292a310
  14556. > {"jfngt",        one(0067400),        one(0177777),        "BW"},
  14557. 303a322
  14558. > {"jfeq",    one(0063400),        one(0177400),        "BB"},
  14559. 606a626
  14560. > {"sfge",        one(0056300),        one(0177700),        "$s"},
  14561. 607a628
  14562. > {"sfgt",        one(0057300),        one(0177700),        "$s"},
  14563. 609a631
  14564. > {"sfle",        one(0057700),        one(0177700),        "$s"},
  14565. 611a634
  14566. > {"sflt",        one(0056700),        one(0177700),        "$s"},
  14567. 613a637
  14568. > {"sfneq",        one(0053300),        one(0177700),        "$s"},
  14569. 1726a1751,1758
  14570. > /*
  14571. >  * Local Variables:
  14572. >  * fill-column: 131
  14573. >  * End:
  14574. >  */
  14575. > /* end of m68k-opcode.h */
  14576. diff -r gdb-3.98/include/m88k-bcs.h gdb-4.0/include/m88k-bcs.h
  14577. 102a103,108
  14578. > /*
  14579. >  * names of "special" sections
  14580. >  */
  14581. > #define _TEXT   ".text"
  14582. > #define _DATA   ".data"
  14583. > #define _BSS    ".bss"
  14584. diff -r gdb-3.98/include/oasys.h gdb-4.0/include/oasys.h
  14585. 20c20
  14586. < typedef struct oasys_external_archive_header {
  14587. ---
  14588. > typedef struct oasys_extarchive_header {
  14589. 31c31
  14590. < } oasys_external_archive_header_type;
  14591. ---
  14592. > } oasys_extarchive_header_type;
  14593. 46c46
  14594. < typedef struct oasys_external_module_table_a {
  14595. ---
  14596. > typedef struct oasys_extmodule_table_a {
  14597. 55c55
  14598. < } oasys_external_module_table_type_a_type;
  14599. ---
  14600. > } oasys_extmodule_table_type_a_type;
  14601. 57c57
  14602. < typedef struct oasys_external_module_table_b {
  14603. ---
  14604. > typedef struct oasys_extmodule_table_b {
  14605. 66c66
  14606. < } oasys_external_module_table_type_b_type;
  14607. ---
  14608. > } oasys_extmodule_table_type_b_type;
  14609. diff -r gdb-3.98/include/obstack.h gdb-4.0/include/obstack.h
  14610. 0a1,3
  14611. > /* This file is maintained by Cygnus Support and may bear no
  14612. >    resemblance to the FSF version at all.  Beware. */
  14613. 134,139d136
  14614. <   struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chunk.  */
  14615. <   void (*freefun) ();        /* User's function to free a chunk.  */
  14616. < };
  14617. < /* Declare the external functions we use; they are in obstack.c.  */
  14618. 141,144c138
  14619. <   extern void _obstack_newchunk (struct obstack *, int);
  14620. <   extern void _obstack_free (struct obstack *, void *);
  14621. <   extern void _obstack_begin (struct obstack *, int, int,
  14622. <                   void *(*) (), void (*) ());
  14623. ---
  14624. >   void  *(*chunkfun) ();     /* User's fcn to allocate a chunk.  */
  14625. 146,148c140
  14626. <   extern void _obstack_newchunk ();
  14627. <   extern void _obstack_free ();
  14628. <   extern void _obstack_begin ();
  14629. ---
  14630. >   char  *(*chunkfun) ();     /* User's fcn to allocate a chunk.  */
  14631. 149a142,143
  14632. >   void (*freefun) ();        /* User's function to free a chunk.  */
  14633. > };
  14634. 213,214c207
  14635. <   _obstack_begin ((h), 0, 0, \
  14636. <           (void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free)
  14637. ---
  14638. >   _obstack_begin ((h), 0, 0, obstack_chunk_alloc, obstack_chunk_free)
  14639. 217,218c210
  14640. <   _obstack_begin ((h), (size), 0, \
  14641. <           (void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free)
  14642. ---
  14643. >   _obstack_begin ((h), (size), 0, obstack_chunk_alloc, obstack_chunk_free)
  14644. 239,243d230
  14645. < /* Note that the call to _obstack_newchunk is enclosed in (..., 0)
  14646. <    so that we can avoid having void expressions
  14647. <    in the arms of the conditional expression.
  14648. <    Casting the third operand to void was tried before,
  14649. <    but some compilers won't accept it.  */
  14650. 248c235
  14651. <     ? (_obstack_newchunk (__o, __len), 0) : 0);                \
  14652. ---
  14653. >     ? _obstack_newchunk (__o, __len) : 0);                \
  14654. 257c244
  14655. <     ? (_obstack_newchunk (__o, __len + 1), 0) : 0),            \
  14656. ---
  14657. >     ? _obstack_newchunk (__o, __len + 1) : 0),                \
  14658. 266c253
  14659. <     ? (_obstack_newchunk (__o, 1), 0) : 0),                \
  14660. ---
  14661. >     ? _obstack_newchunk (__o, 1) : 0),                    \
  14662. 277,278c264,265
  14663. <     ? (_obstack_newchunk (__o, sizeof (void *)), 0) : 0),        \
  14664. <    *((void **)__o->next_free)++ = ((void *)datum);            \
  14665. ---
  14666. >     ? _obstack_newchunk (__o, sizeof (void *)) : 0),            \
  14667. >    *(*(void ***)&__o->next_free)++ = ((void *)datum);            \
  14668. 284,285c271,272
  14669. <     ? (_obstack_newchunk (__o, sizeof (int)), 0) : 0),            \
  14670. <    *((int *)__o->next_free)++ = ((int)datum);                \
  14671. ---
  14672. >     ? _obstack_newchunk (__o, sizeof (int)) : 0),            \
  14673. >    *(*(int **)&__o->next_free)++ = ((int)datum);                \
  14674. 288,289c275,276
  14675. < #define obstack_ptr_grow_fast(h,aptr) (*((void **)(h)->next_free)++ = (void *)aptr)
  14676. < #define obstack_int_grow_fast(h,aint) (*((int *)(h)->next_free)++ = (int)aint)
  14677. ---
  14678. > #define obstack_ptr_grow_fast(h,aptr) (*(*(void ***)&(h)->next_free)++ = (void *)aptr)
  14679. > #define obstack_int_grow_fast(h,aint) (*(*(int **)&(h)->next_free)++ = (int)aint)
  14680. 295c282
  14681. <     ? (_obstack_newchunk (__o, __len), 0) : 0);                \
  14682. ---
  14683. >     ? _obstack_newchunk (__o, __len) : 0);                \
  14684. 331c318
  14685. <    else _obstack_free (__o, __obj); })
  14686. ---
  14687. >    else (obstack_free) (__o, __obj); })
  14688. 344c331
  14689. <    ? (_obstack_newchunk ((h), (h)->temp), 0) : 0),            \
  14690. ---
  14691. >    ? _obstack_newchunk ((h), (h)->temp) : 0),                \
  14692. 351c338
  14693. <    ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0),            \
  14694. ---
  14695. >    ? _obstack_newchunk ((h), (h)->temp + 1) : 0),            \
  14696. 358c345
  14697. <    ? (_obstack_newchunk ((h), 1), 0) : 0),                \
  14698. ---
  14699. >    ? _obstack_newchunk ((h), 1) : 0),                    \
  14700. 363,364c350,351
  14701. <    ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0),        \
  14702. <   *((char **)(((h)->next_free+=sizeof(char *))-sizeof(char *))) = ((char *)datum))
  14703. ---
  14704. >    ? _obstack_newchunk ((h), sizeof (char *)) : 0),            \
  14705. >   *(*(char ***)&(h)->next_free)++ = ((char *)datum))
  14706. 368,369c355,356
  14707. <    ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0),            \
  14708. <   *((int *)(((h)->next_free+=sizeof(int))-sizeof(int))) = ((int)datum))
  14709. ---
  14710. >    ? _obstack_newchunk ((h), sizeof (int)) : 0),            \
  14711. >   *(*(int **)&(h)->next_free)++ = ((int)datum))
  14712. 371,372c358,359
  14713. < #define obstack_ptr_grow_fast(h,aptr) (*((char **)(h)->next_free)++ = (char *)aptr)
  14714. < #define obstack_int_grow_fast(h,aint) (*((int *)(h)->next_free)++ = (int)aint)
  14715. ---
  14716. > #define obstack_ptr_grow_fast(h,aptr) (*(*(char ***)&(h)->next_free)++ = (char *)aptr)
  14717. > #define obstack_int_grow_fast(h,aint) (*(*(int **)&(h)->next_free)++ = (int)aint)
  14718. 377c364
  14719. <    ? (_obstack_newchunk ((h), (h)->temp), 0) : 0),            \
  14720. ---
  14721. >    ? _obstack_newchunk ((h), (h)->temp) : 0),                \
  14722. 406c393
  14723. <    : ((_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0), 0)))
  14724. ---
  14725. >    : ((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0)))
  14726. 413c400
  14727. <    : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0)))
  14728. ---
  14729. >    : (int) _obstack_free ((h), (h)->temp + (char *) (h)->chunk)))
  14730. 417a405,417
  14731. > /* Declare the external functions we use; they are in obstack.c.  */
  14732. > #ifdef __STDC__
  14733. >   extern int _obstack_newchunk (struct obstack *h, int length);
  14734. >   extern int _obstack_free (struct obstack *h, void *obj);
  14735. >   extern void _obstack_begin (struct obstack *h, int size, int alignment,
  14736. >                           void *(*chunkfun) (), void (*freefun) ());
  14737. > #else
  14738. >   extern int _obstack_newchunk ();
  14739. >   extern int _obstack_free ();
  14740. >   extern void _obstack_begin ();
  14741. > #endif
  14742. 418a419
  14743. diff -r gdb-3.98/include/sparc-opcode.h gdb-4.0/include/sparc-opcode.h
  14744. 639c639
  14745. <  { opcode, (mask)|ANNUL, (lose),       ",al",   (flags), v6 }, \
  14746. ---
  14747. >  { opcode, (mask)|ANNUL, (lose),       ",a l",   (flags), v6 }, \
  14748. 697c697
  14749. <  { opcode, (mask)|ANNUL, (lose), ",al", F_DELAYED, v6 }
  14750. ---
  14751. >  { opcode, (mask)|ANNUL, (lose), ",a l", F_DELAYED, v6 }
  14752. diff -r gdb-3.98/include/stab.def gdb-4.0/include/stab.def
  14753. 16a17
  14754. 17a19,26
  14755. > /* Warning symbol. The text gives a warning message, the next symbol
  14756. >    in the table will be undefined. When the symbol is referenced, the
  14757. >    message is printed.
  14758. > */
  14759. > __define_stab (N_WARNING, 0x1e,"WARNING")
  14760. 160,162c169,173
  14761. <     | Entries with bits 01 set are external symbols |
  14762. <     | N_UNDEF   | N_ABS    | N_TEXT    | N_DATA    |
  14763. <     | N_BSS     | N_COMM    |         | N_FN    |
  14764. ---
  14765. >     | Entries with bit 01 set are external symbols. |
  14766. >     | 00 UNDEF  | 02 ABS    | 04 TEXT   | 06 DATA    |
  14767. >     | 08 BSS    | 0A INDR*    | 0C         | 0E     |
  14768. >     | 10         | 12     | 14 SETA   | 16 SETT    |
  14769. >     | 18 SETD   | 1A SETB    | 1C SETV   | 1E FN    |
  14770. 163a175
  14771. >     | Debug entries with bit 01 set are unused.    |
  14772. 194c206
  14773. ---
  14774. >  * 0A INDR is also COMM (supposedly only used internally to unix ld?)
  14775. Only in gdb-3.98/include/sys: Mx.h-sun.1
  14776. diff -r gdb-3.98/include/sys/h-dec3100.h gdb-4.0/include/sys/h-dec3100.h
  14777. 15a16,27
  14778. > #include <machine/param.h>
  14779. > #include <machine/vmparam.h>
  14780. > #define    HOST_PAGE_SIZE        NBPG
  14781. > /* #define    HOST_SEGMENT_SIZE    NBPG -- we use HOST_DATA_START_ADDR */
  14782. > #define    HOST_MACHINE_ARCH    bfd_arch_mips
  14783. > /* #define    HOST_MACHINE_MACHINE     */
  14784. > #define    HOST_TEXT_START_ADDR        USRTEXT
  14785. > #define    HOST_DATA_START_ADDR        USRDATA
  14786. > #define    HOST_STACK_END_ADDR        USRSTACK
  14787. Only in gdb-4.0/include/sys: h-hp300bsd.h
  14788. diff -r gdb-3.98/include/sys/h-sun4.h gdb-4.0/include/sys/h-sun4.h
  14789. 31c31
  14790. < PROTO(char *, memcpy,(char *,CONST char *,unsigned int));
  14791. ---
  14792. > /* PROTO(char *, memcpy,(char *,CONST char *,unsigned int)); */
  14793. diff -r gdb-3.98/include/sysdep.h gdb-4.0/include/sysdep.h
  14794. 52a53
  14795. > #define HP300BSD_SYS 17
  14796. 131a133,136
  14797. > #endif
  14798. > #if HOST_SYS == HP300BSD_SYS
  14799. > #include <sys/h-hp300bsd.h>
  14800. diff -r gdb-3.98/libiberty/Makefile.in gdb-4.0/libiberty/Makefile.in
  14801. 7a8,11
  14802. > # Host and target-dependent makefile fragments come in here.
  14803. > ####
  14804. > # End of host and target-dependent makefile fragments.
  14805. 20c24
  14806. < CFLAGS = -I$(srcdir)/../include
  14807. ---
  14808. > CFLAGS = -I$(srcdir)/../include $(HDEFINES)
  14809. 93c97
  14810. <         `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
  14811. ---
  14812. >         `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
  14813. Only in gdb-3.98/libiberty/config: hmake-dgux
  14814. Only in gdb-4.0/libiberty/config: hmake-sysv
  14815. Only in gdb-4.0/libiberty: config.sub
  14816. diff -r gdb-3.98/libiberty/configure gdb-4.0/libiberty/configure
  14817. 27c27
  14818. < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
  14819. ---
  14820. > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
  14821. 57a58
  14822. > recursing=
  14823. 62a64
  14824. > commontargets=
  14825. 70c72
  14826. <     -ansi | +ansi)
  14827. ---
  14828. >     -ansi | +a*)
  14829. 71a74
  14830. >         clib=clib
  14831. 76,79d78
  14832. <     -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
  14833. <     | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
  14834. <         forcesubdirs=${arg}
  14835. <         ;;
  14836. 85c84
  14837. <     -gas | +gas | +ga | +g)
  14838. ---
  14839. >     -gas | +g*)
  14840. 88c87
  14841. <     -help | +h | +help)
  14842. ---
  14843. >     -help | +h*)
  14844. 91c90
  14845. <     -nfp | +nfp | +nf | +n)
  14846. ---
  14847. >     -nfp | +nf*)
  14848. 94c93
  14849. <     -norecurse | +norecurse)
  14850. ---
  14851. >     -norecurse | +no*)
  14852. 97c96,99
  14853. <     -rm | +rm)
  14854. ---
  14855. >     -recursing)
  14856. >         recursing=true
  14857. >         ;;
  14858. >     -rm | +r*)
  14859. 103c105,108
  14860. <     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
  14861. ---
  14862. >     -subdirs | +f* | +su*)
  14863. >         subdirs=${arg}
  14864. >         ;;
  14865. >     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
  14866. 105c110
  14867. <             forcesubdirs="+forcesubdirs"
  14868. ---
  14869. >             subdirs="+subdirs"
  14870. 111c116
  14871. <     -template=* | +template=*)
  14872. ---
  14873. >     -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
  14874. 114c119
  14875. <     +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
  14876. ---
  14877. >     -v | -verbose | +v*)
  14878. 125c130
  14879. <             forcesubdirs="+forcesubdirs"
  14880. ---
  14881. >             subdirs="+subdirs"
  14882. 136d140
  14883. <     echo targets=\"${targets}\"
  14884. 145c149
  14885. <         echo) 2>&1
  14886. ---
  14887. >         echo) 1>&2
  14888. 156c160
  14889. <     echo " +forcesubdirs    configure in subdirectories.  [in source directories]" ;
  14890. ---
  14891. >     echo " +subdirs        configure in subdirectories.  [in source directories]" ;
  14892. 167c171
  14893. <     echo "Asking for more than one \"+target\" implies \"+forcesubdirs\".  Any other" ;
  14894. ---
  14895. >     echo "Asking for more than one \"+target\" implies \"+subdirs\".  Any other" ;
  14896. 185a190
  14897. > commontargets=true
  14898. 192c197
  14899. <         echo "Can't find template ${template}."
  14900. ---
  14901. >         echo '***' "Can't find template ${template}." 1>&2
  14902. 213c218
  14903. <             echo `pwd`/configure.in has no "per-host:" line.
  14904. ---
  14905. >             echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
  14906. 218c223
  14907. <             echo `pwd`/configure.in has no "per-target:" line.
  14908. ---
  14909. >             echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
  14910. 251c256,259
  14911. <     echo Rebuilt configure in `pwd`
  14912. ---
  14913. >     if [ -n "${verbose}" ] ; then
  14914. >         echo Rebuilt configure in `pwd`
  14915. >     fi
  14916. 252a261,271
  14917. >     # Now update config.sub from the template directory.
  14918. >     if echo "$template" | grep -s 'configure$' ; then
  14919. >         cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
  14920. >     #    mv config.sub config.sub.old
  14921. >         mv config.sub.new config.sub
  14922. >         if [ -n "${verbose}" ] ; then
  14923. >             echo Rebuilt config.sub in `pwd`
  14924. >         fi
  14925. >     fi
  14926. 277c296
  14927. <                         echo No configure script in `pwd`/$i
  14928. ---
  14929. >                         echo Warning: No configure script in `pwd`/$i
  14930. 280c299,301
  14931. <                     echo Warning: directory $i is missing.
  14932. ---
  14933. >                     if [ -n "${verbose}" ] ; then
  14934. >                       echo Warning: directory $i is missing.
  14935. >                     fi
  14936. 291c312
  14937. <     echo srctrigger not set in configure.in. `pwd` not configured.
  14938. ---
  14939. >     echo Warning: srctrigger not set in configure.in. `pwd` not configured.
  14940. 301a323,327
  14941. >     result=`/bin/sh ./config.sub ${host}`
  14942. >     host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  14943. >     host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  14944. >     host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  14945. >     host=${host_cpu}-${host_vendor}-${host_os}
  14946. 306c332,336
  14947. < ## end of per-host part.
  14948. ---
  14949. > case "${host_os}" in
  14950. > sysv | dgux)    
  14951. >     host_makefile_frag=config/hmake-sysv
  14952. >     ;;
  14953. > esac
  14954. 307a338
  14955. > ## end of per-host part.
  14956. 311,314c342,346
  14957. <         if [ -n "${verbose}" ] ; then
  14958. <             echo "    target=\"${target}\""
  14959. <         fi
  14960. ---
  14961. >         result=`/bin/sh ./config.sub ${target}`
  14962. >         target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  14963. >         target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  14964. >         target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  14965. >         target=${target_cpu}-${target_vendor}-${target_os}
  14966. 326c358
  14967. <             if [ -n "${forcesubdirs}" ] ; then
  14968. ---
  14969. >             if [ -n "${subdirs}" ] ; then
  14970. 330c362
  14971. <                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
  14972. ---
  14973. >                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
  14974. 340c372
  14975. <             if [ -n "${forcesubdirs}" ] ; then
  14976. ---
  14977. >             if [ -n "${subdirs}" ] ; then
  14978. 343c375
  14979. <                     echo "${Makefile} already exists in source directory.  `pwd` not configured."
  14980. ---
  14981. >                     echo '***' "${Makefile} already exists in source directory.  `pwd` not configured." 1>&2
  14982. 350c382,393
  14983. <                 if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
  14984. ---
  14985. >                 if [ ! -d ${targetsubdir} ] ; then
  14986. >                     if [ -z "${commontargets}" ] ; then
  14987. >                         mkdir ${targetsubdir}
  14988. >                     else
  14989. >                         if [ ! -d Target-independent ] ; then
  14990. >                             mkdir Target-independent
  14991. >                         fi
  14992. >                         ${symbolic_link} Target-independent ${targetsubdir}
  14993. >                     fi # if target independent
  14994. >                 fi # if no target dir yet
  14995. 357c400
  14996. <                     echo "Configured subdirs exist.  `pwd` not configured."
  14997. ---
  14998. >                     echo '***' "Configured subdirs exist.  `pwd` not configured." 1>&2
  14999. 373c416
  15000. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  15001. ---
  15002. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  15003. 375c418
  15004. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  15005. ---
  15006. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  15007. 378c421
  15008. <                 echo \(At least ${srctrigger} is missing.\) 1>&2
  15009. ---
  15010. >                 echo '***' \(At least ${srctrigger} is missing.\) 1>&2
  15011. 392,393c435,436
  15012. <                     echo "${progname}: cannot create a link \"${link}\"," 1>&2
  15013. <                     echo "since the file \"${file}\" does not exist." 1>&2
  15014. ---
  15015. >                     echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
  15016. >                     echo '***' "since the file \"${file}\" does not exist." 1>&2
  15017. 403c446
  15018. <                     echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  15019. ---
  15020. >                     echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  15021. 406c449,452
  15022. <                 echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  15023. ---
  15024. >                 if [ -n "${verbose}" ] ; then
  15025. >                     echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  15026. >                 fi
  15027. 442c488
  15028. <             if [ -n "${forcesubdirs}" ] ; then
  15029. ---
  15030. >             if [ -n "${subdirs}" ] ; then
  15031. 499c545,547
  15032. <             echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  15033. ---
  15034. >             if [ -n "${verbose}" -o -z "${recursing}" ] ; then
  15035. >                 echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  15036. >             fi
  15037. 518d565
  15038. <     done # for each target
  15039. 520,585c567,586
  15040. < #    # Now build a Makefile for this host.
  15041. < #    if [ -n "${forcesubdirs}" ] ; then
  15042. < #        cd ${hostsubdir}
  15043. < #        cat > GNUmakefile << E!O!F
  15044. < ## Makefile generated by configure for host ${host}.
  15045. < #
  15046. < #%:
  15047. < #    for i in ${targets} ; do \
  15048. < #        $(MAKE) -C Target-\$i \$@
  15049. < #
  15050. < #all clean stage1 stage2 stage3 stage4etags tags TAGS
  15051. < #E!O!F
  15052. < #    fi
  15053. < done # for each host
  15054. < # If there are subdirectories, then recurse. 
  15055. < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
  15056. < # configdirs is not null
  15057. < for configdir in ${configdirs} ; do
  15058. <     echo Configuring ${configdir}...
  15059. <     specifics=
  15060. <     commons=
  15061. <     if [ -n "${defaulttargets}" ] ; then
  15062. <         for host in ${hosts} ; do
  15063. <             if [ -d ${configdir}.${host} ] ; then
  15064. <                 newspecifics="${specifics} ${host}"
  15065. <                 specifics=${newspecifics}
  15066. <             else
  15067. <                 newcommons="${commons} ${host}"
  15068. <                 commons=${newcommons}
  15069. <             fi # if target specific
  15070. <         done # for each host
  15071. <         if [ -n "${commons}" ] ; then
  15072. <             if [ -d ${configdir} ] ; then
  15073. <                 (cd ${configdir} ;
  15074. <                     ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  15075. <                     | sed 's/^/    /'
  15076. <             else
  15077. <                 echo Warning: directory \"${configdir}\" is missing.
  15078. <             fi
  15079. <         fi # if any common hosts
  15080. <         if [ -n "${specifics}" ] ; then
  15081. <             for host in ${specifics} ; do
  15082. <                 echo Configuring target specific directory ${configdir}.${host}...
  15083. <                 (cd ${configdir}.${host} ;
  15084. <                     ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  15085. <                     | sed 's/^/    /'
  15086. <             done # for host in specifics
  15087. <         fi # if there are any specifics
  15088. <     else
  15089. <         for target in ${targets} ; do
  15090. <             if [ -d ${configdir}.${target} ] ; then
  15091. <                 newspecifics="${specifics} ${target}"
  15092. <                 specifics=${newspecifics}
  15093. <             else
  15094. <                 newcommons="${commons} +target=${target}"
  15095. <                 commons=${newcommons}
  15096. <             fi
  15097. <         done # check for target specific dir override
  15098. ---
  15099. >         # If there are subdirectories, then recurse. 
  15100. >         if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then 
  15101. >             for configdir in ${configdirs} ; do
  15102. >                 if [ -n "${verbose}" ] ; then
  15103. >                     echo Configuring ${configdir}...
  15104. >                 fi
  15105. >                 if [ -d ${configdir} ] ; then
  15106. >                     (cd ${configdir} ;
  15107. >                         ./configure -recursing ${host} +target=${target} \
  15108. >                             ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
  15109. >                         | sed 's/^/    /'
  15110. >                 else
  15111. >                     if [ -n "${verbose}" ] ; then
  15112. >                         echo Warning: directory \"${configdir}\" is missing.
  15113. >                     fi
  15114. >                 fi
  15115. >             done
  15116. >         fi
  15117. >     done # for each target
  15118. 587,590c588,597
  15119. <         if [ -n "${verbose}" ] ; then
  15120. <             echo "    "commons=\"${commons}\"
  15121. <             echo "    "specifics=\"${specifics}\"
  15122. <         fi # if verbose
  15123. ---
  15124. >     # Now build a Makefile for this host.
  15125. >     if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
  15126. >         cd ${hostsubdir}
  15127. >         cat > GNUmakefile << E!O!F
  15128. > # Makefile generated by configure for host ${host}.
  15129. > ALL := $(shell ls -d Target-*)
  15130. > %:
  15131. >     $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
  15132. 592,613c599,603
  15133. <         if [ -n "${commons}" ] ; then
  15134. <             if [ -d ${configdir} ] ; then
  15135. <                 (cd ${configdir} ;
  15136. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  15137. <                         ${commons} +destdir=${destdir}) \
  15138. <                     | sed 's/^/    /'
  15139. <             else
  15140. <                 echo Warning: directory \"${configdir}\" is missing.
  15141. <             fi
  15142. <         fi # if any commons
  15143. <         if [ -n "${specifics}" ] ; then
  15144. <             for target in ${specifics} ; do
  15145. <                 echo Configuring target specific directory ${configdir}.${target}...
  15146. <                 (cd ${configdir}.${target} ;
  15147. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  15148. <                         "+target=${target}" +destdir=${destdir}) \
  15149. <                     | sed 's/^/    /'
  15150. <             done
  15151. <         fi # if any specifics
  15152. <     fi # not default targets
  15153. < done
  15154. ---
  15155. > all:
  15156. > E!O!F
  15157. >         cd ..
  15158. >     fi
  15159. > done # for each host
  15160. 618a609,639
  15161. > # Revision 1.31  1991/08/23  04:50:57  rich
  15162. > # Minor config polish.
  15163. > #
  15164. > # Revision 1.22  1991/08/23  03:31:43  rich
  15165. > # Minor polish & config mapping.
  15166. > #
  15167. > # Revision 1.30  1991/08/22  07:15:51  rich
  15168. > # Three part names, etc.
  15169. > #
  15170. > # Revision 1.29  1991/08/20  04:56:51  rich
  15171. > # revisiting error messages
  15172. > #
  15173. > # Revision 1.28  1991/08/16  19:22:17  rich
  15174. > # This is the commontargets change and should be considered
  15175. > # experimental.
  15176. > #
  15177. > # Revision 1.27  1991/08/08  01:14:13  rich
  15178. > # allow +f to stand in for +subdirs
  15179. > #
  15180. > # Revision 1.26  1991/08/07  19:21:32  rich
  15181. > # +forcesubdirs -> +subdirs
  15182. > #
  15183. > # Revision 1.25  1991/08/07  07:05:30  rich
  15184. > # Added make.
  15185. > #
  15186. > # Revision 1.24  1991/08/06  19:26:01  rich
  15187. > # revised option parsing.
  15188. > #
  15189. > # Revision 1.23  1991/08/06  19:12:32  rich
  15190. > # Host-level GNUmakefiles.
  15191. > #
  15192. diff -r gdb-3.98/libiberty/configure.in gdb-4.0/libiberty/configure.in
  15193. 8a9
  15194. > commontargets=true
  15195. 10a12,17
  15196. > case "${host_os}" in
  15197. > sysv | dgux)    
  15198. >     host_makefile_frag=config/hmake-sysv
  15199. >     ;;
  15200. > esac
  15201. diff -r gdb-3.98/libiberty/obstack.c gdb-4.0/libiberty/obstack.c
  15202. 0a1,3
  15203. > /* This file is maintained by Cygnus Support and may bear no
  15204. >    resemblance to the FSF version at all.  Beware. */
  15205. 4,7c7,10
  15206. < This program is free software; you can redistribute it and/or modify
  15207. < it under the terms of the GNU General Public License as published by
  15208. < the Free Software Foundation; either version 2 of the License, or
  15209. < (at your option) any later version.
  15210. ---
  15211. > This program is free software; you can redistribute it and/or modify it
  15212. > under the terms of the GNU General Public License as published by the
  15213. > Free Software Foundation; either version 1, or (at your option) any
  15214. > later version.
  15215. 16c19
  15216. < Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  15217. ---
  15218. > Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  15219. 26,27d28
  15220. < extern int abort();
  15221. 84c85
  15222. <   h->chunkfun = (struct _obstack_chunk * (*)()) chunkfun;
  15223. ---
  15224. >   h->chunkfun = chunkfun;
  15225. 89c90
  15226. <   chunk    = h->chunk = (*h->chunkfun) (h->chunk_size);
  15227. ---
  15228. >   chunk    = h->chunk = (struct _obstack_chunk *)(*h->chunkfun) (h->chunk_size);
  15229. 100c101
  15230. <    to the beginning of the new one.  */
  15231. ---
  15232. >    to the beginning of the new one.  
  15233. 102c103,106
  15234. < void
  15235. ---
  15236. >    The function must be "int" so it can be used in non-ANSI C
  15237. >    compilers in a : expression.  */
  15238. > int
  15239. 120c124
  15240. <   new_chunk = h->chunk = (*h->chunkfun) (new_size);
  15241. ---
  15242. >   new_chunk = h->chunk = (struct _obstack_chunk *)(*h->chunkfun) (new_size);
  15243. 144,151d147
  15244. <   /* If the object just copied was the only data in OLD_CHUNK,
  15245. <      free that chunk and remove it from the chain.  */
  15246. <   if (h->object_base == old_chunk->contents)
  15247. <     {
  15248. <       new_chunk->prev = old_chunk->prev;
  15249. <       (*h->freefun) (old_chunk);
  15250. <     }
  15251. 153a150
  15252. >   return(0);
  15253. 177c174
  15254. < /* Free objects in obstack H, including OBJ and everything allocate
  15255. ---
  15256. > /* Free objects in obstack H, including OBJ and everything allocated
  15257. 180d176
  15258. < #ifdef __STDC__
  15259. 182,184d177
  15260. < void
  15261. < obstack_free (struct obstack *h, POINTER obj) { _obstack_free(h, obj); }
  15262. < #endif
  15263. 185a179
  15264. > #ifdef __STDC__
  15265. 187c181,184
  15266. < _obstack_free (h, obj)
  15267. ---
  15268. > obstack_free (struct obstack *h, POINTER obj)
  15269. > #else
  15270. > int
  15271. > obstack_free (h, obj)
  15272. 189a187
  15273. > #endif
  15274. 201c199
  15275. <       (*h->freefun) (lp);
  15276. ---
  15277. >       (*h->freefun) ((POINTER) lp);
  15278. 216a215,221
  15279. > int
  15280. > _obstack_free (h, obj)
  15281. >      struct obstack *h;
  15282. >      POINTER obj;
  15283. > {
  15284. >   obstack_free (h, obj);
  15285. > }
  15286. 218c223
  15287. < #if 0
  15288. ---
  15289. > /* #if 0 */
  15290. 331c336
  15291. < #endif /* 0 */
  15292. ---
  15293. > /* #endif 0 */
  15294. diff -r gdb-3.98/readline/Makefile.in gdb-4.0/readline/Makefile.in
  15295. 154c154
  15296. <          `if [ "$(srcdir)" != "." ] ; then echo +f; fi` \
  15297. ---
  15298. >          `if [ "$(srcdir)" != "." ] ; then echo +subdirs; fi` \
  15299. Only in gdb-4.0/readline: config.sub
  15300. diff -r gdb-3.98/readline/configure gdb-4.0/readline/configure
  15301. 27c27
  15302. < # $Id: configure,v 1.22 1991/07/20 01:22:30 rich Exp $
  15303. ---
  15304. > # $Id: configure,v 1.31 1991/08/23 04:50:57 rich Exp $
  15305. 57a58
  15306. > recursing=
  15307. 62a64
  15308. > commontargets=
  15309. 70c72
  15310. <     -ansi | +ansi)
  15311. ---
  15312. >     -ansi | +a*)
  15313. 71a74
  15314. >         clib=clib
  15315. 76,79d78
  15316. <     -forcesubdirs | +forcesubdirs | +forcesubdir | +forcesubdi | +forcesubd \
  15317. <     | +forcesub | +forcesu | +forces | +force | +forc | +for | +fo | +f)
  15318. <         forcesubdirs=${arg}
  15319. <         ;;
  15320. 85c84
  15321. <     -gas | +gas | +ga | +g)
  15322. ---
  15323. >     -gas | +g*)
  15324. 88c87
  15325. <     -help | +h | +help)
  15326. ---
  15327. >     -help | +h*)
  15328. 91c90
  15329. <     -nfp | +nfp | +nf | +n)
  15330. ---
  15331. >     -nfp | +nf*)
  15332. 94c93
  15333. <     -norecurse | +norecurse)
  15334. ---
  15335. >     -norecurse | +no*)
  15336. 97c96,99
  15337. <     -rm | +rm)
  15338. ---
  15339. >     -recursing)
  15340. >         recursing=true
  15341. >         ;;
  15342. >     -rm | +r*)
  15343. 103c105,108
  15344. <     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=* | +t=*)
  15345. ---
  15346. >     -subdirs | +f* | +su*)
  15347. >         subdirs=${arg}
  15348. >         ;;
  15349. >     -target=* | +target=* | +targe=* | +targ=* | +tar=* | +ta=*)
  15350. 105c110
  15351. <             forcesubdirs="+forcesubdirs"
  15352. ---
  15353. >             subdirs="+subdirs"
  15354. 111c116
  15355. <     -template=* | +template=*)
  15356. ---
  15357. >     -template=* | +template=* | +templat=* | +templa=* | +templ=* | +temp=* | +tem=* | +te=*)
  15358. 114c119
  15359. <     +verbose | +verbos | +verbo | +verb | +ver | +ve | +v)
  15360. ---
  15361. >     -v | -verbose | +v*)
  15362. 125c130
  15363. <             forcesubdirs="+forcesubdirs"
  15364. ---
  15365. >             subdirs="+subdirs"
  15366. 136d140
  15367. <     echo targets=\"${targets}\"
  15368. 145c149
  15369. <         echo) 2>&1
  15370. ---
  15371. >         echo) 1>&2
  15372. 156c160
  15373. <     echo " +forcesubdirs    configure in subdirectories.  [in source directories]" ;
  15374. ---
  15375. >     echo " +subdirs        configure in subdirectories.  [in source directories]" ;
  15376. 167c171
  15377. <     echo "Asking for more than one \"+target\" implies \"+forcesubdirs\".  Any other" ;
  15378. ---
  15379. >     echo "Asking for more than one \"+target\" implies \"+subdirs\".  Any other" ;
  15380. 192c196
  15381. <         echo "Can't find template ${template}."
  15382. ---
  15383. >         echo '***' "Can't find template ${template}." 1>&2
  15384. 213c217
  15385. <             echo `pwd`/configure.in has no "per-host:" line.
  15386. ---
  15387. >             echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
  15388. 218c222
  15389. <             echo `pwd`/configure.in has no "per-target:" line.
  15390. ---
  15391. >             echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
  15392. 251c255,258
  15393. <     echo Rebuilt configure in `pwd`
  15394. ---
  15395. >     if [ -n "${verbose}" ] ; then
  15396. >         echo Rebuilt configure in `pwd`
  15397. >     fi
  15398. 252a260,270
  15399. >     # Now update config.sub from the template directory.
  15400. >     if echo "$template" | grep -s 'configure$' ; then
  15401. >         cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
  15402. >     #    mv config.sub config.sub.old
  15403. >         mv config.sub.new config.sub
  15404. >         if [ -n "${verbose}" ] ; then
  15405. >             echo Rebuilt config.sub in `pwd`
  15406. >         fi
  15407. >     fi
  15408. 277c295
  15409. <                         echo No configure script in `pwd`/$i
  15410. ---
  15411. >                         echo Warning: No configure script in `pwd`/$i
  15412. 280c298,300
  15413. <                     echo Warning: directory $i is missing.
  15414. ---
  15415. >                     if [ -n "${verbose}" ] ; then
  15416. >                       echo Warning: directory $i is missing.
  15417. >                     fi
  15418. 291c311
  15419. <     echo srctrigger not set in configure.in. `pwd` not configured.
  15420. ---
  15421. >     echo Warning: srctrigger not set in configure.in. `pwd` not configured.
  15422. 301a322,326
  15423. >     result=`/bin/sh ./config.sub ${host}`
  15424. >     host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  15425. >     host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  15426. >     host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  15427. >     host=${host_cpu}-${host_vendor}-${host_os}
  15428. 308d332
  15429. 311,314c335,339
  15430. <         if [ -n "${verbose}" ] ; then
  15431. <             echo "    target=\"${target}\""
  15432. <         fi
  15433. ---
  15434. >         result=`/bin/sh ./config.sub ${target}`
  15435. >         target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
  15436. >         target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
  15437. >         target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
  15438. >         target=${target_cpu}-${target_vendor}-${target_os}
  15439. 326c351
  15440. <             if [ -n "${forcesubdirs}" ] ; then
  15441. ---
  15442. >             if [ -n "${subdirs}" ] ; then
  15443. 330c355
  15444. <                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target-`" ] ; then
  15445. ---
  15446. >                     if [ -z "`(ls ${hostsubdir}) 2>&1 | grep Target- | grep -v Target-independent`" ] ; then
  15447. 340c365
  15448. <             if [ -n "${forcesubdirs}" ] ; then
  15449. ---
  15450. >             if [ -n "${subdirs}" ] ; then
  15451. 343c368
  15452. <                     echo "${Makefile} already exists in source directory.  `pwd` not configured."
  15453. ---
  15454. >                     echo '***' "${Makefile} already exists in source directory.  `pwd` not configured." 1>&2
  15455. 350c375,386
  15456. <                 if [ ! -d ${targetsubdir} ] ; then mkdir ${targetsubdir} ; fi
  15457. ---
  15458. >                 if [ ! -d ${targetsubdir} ] ; then
  15459. >                     if [ -z "${commontargets}" ] ; then
  15460. >                         mkdir ${targetsubdir}
  15461. >                     else
  15462. >                         if [ ! -d Target-independent ] ; then
  15463. >                             mkdir Target-independent
  15464. >                         fi
  15465. >                         ${symbolic_link} Target-independent ${targetsubdir}
  15466. >                     fi # if target independent
  15467. >                 fi # if no target dir yet
  15468. 357c393
  15469. <                     echo "Configured subdirs exist.  `pwd` not configured."
  15470. ---
  15471. >                     echo '***' "Configured subdirs exist.  `pwd` not configured." 1>&2
  15472. 373c409
  15473. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  15474. ---
  15475. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
  15476. 375c411
  15477. <                     echo "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  15478. ---
  15479. >                     echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
  15480. 378c414
  15481. <                 echo \(At least ${srctrigger} is missing.\) 1>&2
  15482. ---
  15483. >                 echo '***' \(At least ${srctrigger} is missing.\) 1>&2
  15484. 392,393c428,429
  15485. <                     echo "${progname}: cannot create a link \"${link}\"," 1>&2
  15486. <                     echo "since the file \"${file}\" does not exist." 1>&2
  15487. ---
  15488. >                     echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
  15489. >                     echo '***' "since the file \"${file}\" does not exist." 1>&2
  15490. 403c439
  15491. <                     echo "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  15492. ---
  15493. >                     echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
  15494. 406c442,445
  15495. <                 echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  15496. ---
  15497. >                 if [ -n "${verbose}" ] ; then
  15498. >                     echo "Linked \"${link}\" to \"${srcdir}/${file}\"."
  15499. >                 fi
  15500. 442c481
  15501. <             if [ -n "${forcesubdirs}" ] ; then
  15502. ---
  15503. >             if [ -n "${subdirs}" ] ; then
  15504. 499c538,540
  15505. <             echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  15506. ---
  15507. >             if [ -n "${verbose}" -o -z "${recursing}" ] ; then
  15508. >                 echo "Created \"${Makefile}\"" in `pwd`${andusing}.
  15509. >             fi
  15510. 518,574d558
  15511. <     done # for each target
  15512. < #    # Now build a Makefile for this host.
  15513. < #    if [ -n "${forcesubdirs}" ] ; then
  15514. < #        cd ${hostsubdir}
  15515. < #        cat > GNUmakefile << E!O!F
  15516. < ## Makefile generated by configure for host ${host}.
  15517. < #
  15518. < #%:
  15519. < #    for i in ${targets} ; do \
  15520. < #        $(MAKE) -C Target-\$i \$@
  15521. < #
  15522. < #all clean stage1 stage2 stage3 stage4etags tags TAGS
  15523. < #E!O!F
  15524. < #    fi
  15525. < done # for each host
  15526. < # If there are subdirectories, then recurse. 
  15527. < if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
  15528. < # configdirs is not null
  15529. < for configdir in ${configdirs} ; do
  15530. <     echo Configuring ${configdir}...
  15531. <     specifics=
  15532. <     commons=
  15533. <     if [ -n "${defaulttargets}" ] ; then
  15534. <         for host in ${hosts} ; do
  15535. <             if [ -d ${configdir}.${host} ] ; then
  15536. <                 newspecifics="${specifics} ${host}"
  15537. <                 specifics=${newspecifics}
  15538. <             else
  15539. <                 newcommons="${commons} ${host}"
  15540. <                 commons=${newcommons}
  15541. <             fi # if target specific
  15542. <         done # for each host
  15543. <         if [ -n "${commons}" ] ; then
  15544. <             if [ -d ${configdir} ] ; then
  15545. <                 (cd ${configdir} ;
  15546. <                     ./configure ${commons} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  15547. <                     | sed 's/^/    /'
  15548. <             else
  15549. <                 echo Warning: directory \"${configdir}\" is missing.
  15550. <             fi
  15551. <         fi # if any common hosts
  15552. <         if [ -n "${specifics}" ] ; then
  15553. <             for host in ${specifics} ; do
  15554. <                 echo Configuring target specific directory ${configdir}.${host}...
  15555. <                 (cd ${configdir}.${host} ;
  15556. <                     ./configure ${host} ${verbose} ${forcesubdirs} ${removing} +destdir=${destdir}) \
  15557. <                     | sed 's/^/    /'
  15558. <             done # for host in specifics
  15559. <         fi # if there are any specifics
  15560. <     else
  15561. 576,585c560,579
  15562. <         for target in ${targets} ; do
  15563. <             if [ -d ${configdir}.${target} ] ; then
  15564. <                 newspecifics="${specifics} ${target}"
  15565. <                 specifics=${newspecifics}
  15566. <             else
  15567. <                 newcommons="${commons} +target=${target}"
  15568. <                 commons=${newcommons}
  15569. <             fi
  15570. <         done # check for target specific dir override
  15571. ---
  15572. >         # If there are subdirectories, then recurse. 
  15573. >         if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then 
  15574. >             for configdir in ${configdirs} ; do
  15575. >                 if [ -n "${verbose}" ] ; then
  15576. >                     echo Configuring ${configdir}...
  15577. >                 fi
  15578. >                 if [ -d ${configdir} ] ; then
  15579. >                     (cd ${configdir} ;
  15580. >                         ./configure -recursing ${host} +target=${target} \
  15581. >                             ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
  15582. >                         | sed 's/^/    /'
  15583. >                 else
  15584. >                     if [ -n "${verbose}" ] ; then
  15585. >                         echo Warning: directory \"${configdir}\" is missing.
  15586. >                     fi
  15587. >                 fi
  15588. >             done
  15589. >         fi
  15590. >     done # for each target
  15591. 587,590c581,590
  15592. <         if [ -n "${verbose}" ] ; then
  15593. <             echo "    "commons=\"${commons}\"
  15594. <             echo "    "specifics=\"${specifics}\"
  15595. <         fi # if verbose
  15596. ---
  15597. >     # Now build a Makefile for this host.
  15598. >     if [ -n "${subdirs}" -a ! -n "${removing}" ] ; then
  15599. >         cd ${hostsubdir}
  15600. >         cat > GNUmakefile << E!O!F
  15601. > # Makefile generated by configure for host ${host}.
  15602. > ALL := $(shell ls -d Target-*)
  15603. > %:
  15604. >     $(foreach subdir,$(ALL),$(MAKE) -C $(subdir) \$@ &&) true
  15605. 592,613c592,596
  15606. <         if [ -n "${commons}" ] ; then
  15607. <             if [ -d ${configdir} ] ; then
  15608. <                 (cd ${configdir} ;
  15609. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  15610. <                         ${commons} +destdir=${destdir}) \
  15611. <                     | sed 's/^/    /'
  15612. <             else
  15613. <                 echo Warning: directory \"${configdir}\" is missing.
  15614. <             fi
  15615. <         fi # if any commons
  15616. <         if [ -n "${specifics}" ] ; then
  15617. <             for target in ${specifics} ; do
  15618. <                 echo Configuring target specific directory ${configdir}.${target}...
  15619. <                 (cd ${configdir}.${target} ;
  15620. <                     ./configure ${hosts} ${verbose} ${forcesubdirs} ${removing} \
  15621. <                         "+target=${target}" +destdir=${destdir}) \
  15622. <                     | sed 's/^/    /'
  15623. <             done
  15624. <         fi # if any specifics
  15625. <     fi # not default targets
  15626. < done
  15627. ---
  15628. > all:
  15629. > E!O!F
  15630. >         cd ..
  15631. >     fi
  15632. > done # for each host
  15633. 618a602,632
  15634. > # Revision 1.31  1991/08/23  04:50:57  rich
  15635. > # Minor config polish.
  15636. > #
  15637. > # Revision 1.22  1991/08/23  03:31:43  rich
  15638. > # Minor polish & config mapping.
  15639. > #
  15640. > # Revision 1.30  1991/08/22  07:15:51  rich
  15641. > # Three part names, etc.
  15642. > #
  15643. > # Revision 1.29  1991/08/20  04:56:51  rich
  15644. > # revisiting error messages
  15645. > #
  15646. > # Revision 1.28  1991/08/16  19:22:17  rich
  15647. > # This is the commontargets change and should be considered
  15648. > # experimental.
  15649. > #
  15650. > # Revision 1.27  1991/08/08  01:14:13  rich
  15651. > # allow +f to stand in for +subdirs
  15652. > #
  15653. > # Revision 1.26  1991/08/07  19:21:32  rich
  15654. > # +forcesubdirs -> +subdirs
  15655. > #
  15656. > # Revision 1.25  1991/08/07  07:05:30  rich
  15657. > # Added make.
  15658. > #
  15659. > # Revision 1.24  1991/08/06  19:26:01  rich
  15660. > # revised option parsing.
  15661. > #
  15662. > # Revision 1.23  1991/08/06  19:12:32  rich
  15663. > # Host-level GNUmakefiles.
  15664. > #
  15665. diff -r gdb-3.98/texinfo/fsf/texinfo.tex gdb-4.0/texinfo/fsf/texinfo.tex
  15666. 25c25
  15667. < \def\texinfoversion{2.51}
  15668. ---
  15669. > \def\texinfoversion{2.53}
  15670. 2034a2035,2092
  15671. > %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  15672. > % \cartouche: draw rectangle w/rounded corners around argument
  15673. > \font\circle=lcircle10
  15674. > \newdimen\circthick
  15675. > \newdimen\cartouter\newdimen\cartinner
  15676. > \newskip\normbskip\newskip\normpskip\newskip\normlskip
  15677. > \circthick=\fontdimen8\circle
  15678. > %
  15679. > \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
  15680. > \def\ctr{{\hskip 6pt\circle\char'010}}
  15681. > \def\cbl{{\circle\char'012\hskip -6pt}}
  15682. > \def\cbr{{\hskip 6pt\circle\char'011}}
  15683. > \def\carttop{\hbox to \cartouter{\hskip\lskip
  15684. >     \ctl\leaders\hrule height\circthick\hfil\ctr
  15685. >     \hskip\rskip}}
  15686. > \def\cartbot{\hbox to \cartouter{\hskip\lskip
  15687. >     \cbl\leaders\hrule height\circthick\hfil\cbr
  15688. >     \hskip\rskip}}
  15689. > %
  15690. > \newskip\lskip\newskip\rskip
  15691. > \long\def\cartouche{%
  15692. > \begingroup
  15693. >     \lskip=\leftskip \rskip=\rightskip
  15694. >     \leftskip=0pt\rightskip=0pt %we want these *outside*.
  15695. >     \cartinner=\hsize \advance\cartinner by-\lskip 
  15696. >                \advance\cartinner by-\rskip
  15697. >     \cartouter=\hsize
  15698. >     \advance\cartouter by 18pt % allow for 3pt kerns on either
  15699. > %                     side, and for 6pt waste from
  15700. > %                     each corner char
  15701. >     \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
  15702. >     \vbox\bgroup
  15703. >         \baselineskip=0pt\parskip=0pt\lineskip=0pt
  15704. >         \carttop
  15705. >         \hbox\bgroup
  15706. >             \hskip\lskip
  15707. >             \vrule\kern3pt
  15708. >             \vbox\bgroup
  15709. >                 \hsize=\cartinner
  15710. >                 \kern3pt
  15711. >                 \begingroup
  15712. >                     \baselineskip=\normbskip
  15713. >                     \lineskip=\normlskip
  15714. >                     \parskip=\normpskip
  15715. >                     \vskip -\parskip
  15716. > \def\Ecartouche{%
  15717. >                 \endgroup
  15718. >                 \kern3pt
  15719. >             \egroup
  15720. >             \kern3pt\vrule
  15721. >             \hskip\rskip
  15722. >         \egroup
  15723. >         \cartbot
  15724. >     \egroup
  15725. > \endgroup
  15726. > }}    
  15727. 2776c2834
  15728. < \removelastskip
  15729. ---
  15730. > \unskip
  15731.